[转载]在 Visual Studio 2008 中去掉某些文件的只读属性 – 匡匡 – 博客园.
在 Visual Studio 2008 中,使用 VSS 作为源码管理器,把文件签入后,文件会自动变为只读状态。在公司习惯是在某个开发人员的机器上获取最新的代码后编译,编译完之后服务器上再从 VSS 源码库里获取最新的程序供测试人员测试,在这种情况下,我们把项目生成的一个 DLL 也加会加入到 VSS 源码管理中去,所以在每次需要把项目更新到服务器上的时候,都会先把项目生成的 DLL文件签出来,编译完后再签入进去,签进去之后 DLL 文件就能变成只读的了,这个时候如果再在 VS2008 中编译项目,VS2008将会出现无法将文件“obj\Debug\xx.dll”复制到“bin\xx.dll”。对路径“bin\xx.dll”的访问被拒绝.的错误,所以每次都得手工去掉这个 DLL 文件的只读属性。感觉很麻烦。
后来找到了一种方法,就是在项目生成之前运行一个命令,自动去掉这个 DLL 的只读属性,这样在编译的时候就不会出错了,具体设置是打开项目属性 ,然后打开“生成事件”活页,在“预生成事件命令行”下面的框里写入“attrib $(TargetPath) -R” 就可以了,这样在每次编译的时候,都会先运行这个命令去掉项目生成的 DLL 文件的只读属性。