这个很奇怪。 Visual Studio 2008似乎不会释放它为我的项目创建的.DLLs的句柄,因此,当Studio试图覆盖已更改的.dll时,第二次(和随后)会生成访问被拒绝的错误。我也无法复制/删除有问题的.dll(Tasks.dll),而Visual Studio在我构建一次后打开。 Process Explorer告诉我该文件正在被devenv.exe使用,所以我知道在构建完成后Visual Studio不会放弃它。Visual Studio 2008的.dll文件不能被覆盖,访问被拒绝
有没有人看过这个之前,如果是的话,我能做些什么呢?很明显,在每个构建之间打开和关闭Visual Studio并不是一个可接受的解决方案,并且问题在整个系统重新启动时仍然存在。
更多背景:我在另一个项目的UsingTask MSBuild指令中使用了导致错误的项目的DLL(Tasks.dll),我们称它为Test。项目构建顺序的设置是为了在测试之前构建任务,然后Test的AfterBuild任务将从/bin/debug/Tasks.dll调用任务。
您是否将其他项目作为项目引用,或者直接从其\ bin引用它们的DLL? – 2010-05-03 20:19:46
您是否已将bin目录添加到源代码管理并将其锁定? – 2010-05-03 20:26:32
该项目不受源代码管理,因此至少在那里没有问题...编辑以解决其他问题 – Joel 2010-05-03 20:38:02