用Spring.net + Nhibernate 做Winform,发布到客户端一直没事,在虚拟机上拷贝到虚拟机的C盘也能运行。后来为了远程调试方便,让客户把程序拷贝到桌面上运行,结果提示
在开发机上运行,一切正常。再次去虚拟机上运行,映射网络硬盘,然后在网络盘里运行,也是提示这个错误。
换台电脑试了下,程序运行正常。最终发现原因:分区格式NTFS。
程序中config文件需要完全控制权限才能运行,NTFS格式下默认拥有。而Fat下需要设置,恰巧客户机的C盘式fat格式,而虚拟机的映射硬盘无法拥有完全控制权限,一切的凑巧导致了问题的发生。
证明了一点:万事发生都有其原因。