我在开发ASP.NET Web应用程序项目时,在Visual Studio 2008中遇到了这个错误。
无法加载引用库“Path-to-DotNetNuke\bin\file.dll”:由于另一个进程正在使用该文件,因此无法访问该文件。
这是一个具有多个模块的DotNetNuke项目。IIS从应用程序根目录下的/bin文件夹加载所有程序集。
解决方案中的项目位于各自的/DesktopModules/ProjectName文件夹中,并编译到项目下的bin文件夹中。
在我使用脚本将所有项目的dll复制到/bin并编译解决方案后,就会出现此错误。Visual Studio不允许我重新编译,但如果我重新启动它,则一切正常。每次重新编译整个解决方案时,这真的很烦人。您必须在每次重新编译之间重新启动Visual Studio。
当Visual Studio显示此错误时,我找不到任何文件锁定。
[更新] 这里有一个旧的MSDN文档告诉你,如果你在那里引用任何超过64KB的DLL,则不要将所有DLL构建到单个文件夹中。 特别地,该文档说:
“当引用程序集大小超过64 KB时,它会导致构建过程失败,出现文件锁定错误。”
我们在 /bin 文件夹中有对超过 64KB DLL 的引用,并将重新编译的 DLL 复制到那里似乎会触发这种情况,至少会影响 VB IDE 的后台编译器。
无法加载引用库“Path-to-DotNetNuke\bin\file.dll”:由于另一个进程正在使用该文件,因此无法访问该文件。
这是一个具有多个模块的DotNetNuke项目。IIS从应用程序根目录下的/bin文件夹加载所有程序集。
解决方案中的项目位于各自的/DesktopModules/ProjectName文件夹中,并编译到项目下的bin文件夹中。
在我使用脚本将所有项目的dll复制到/bin并编译解决方案后,就会出现此错误。Visual Studio不允许我重新编译,但如果我重新启动它,则一切正常。每次重新编译整个解决方案时,这真的很烦人。您必须在每次重新编译之间重新启动Visual Studio。
当Visual Studio显示此错误时,我找不到任何文件锁定。
[更新] 这里有一个旧的MSDN文档告诉你,如果你在那里引用任何超过64KB的DLL,则不要将所有DLL构建到单个文件夹中。 特别地,该文档说:
“当引用程序集大小超过64 KB时,它会导致构建过程失败,出现文件锁定错误。”
我们在 /bin 文件夹中有对超过 64KB DLL 的引用,并将重新编译的 DLL 复制到那里似乎会触发这种情况,至少会影响 VB IDE 的后台编译器。