2010-07-14 20 views
0

我有一个由多个项目组成的解决方案,这些项目之间存在各种依赖关系。当我构建项目/解决方案时,它会根据需要在Project \ bin文件夹中创建DLL程序集文件。但是,当我运行程序时,它会将一切临时文件的文件夹,并从那里运行它:如何使Visual Studio从bin运行程序集文件(依赖项)?

C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \临时ASP.NET文件\应用程序名称

因此,现在在bin文件夹和临时文件文件夹中的每个项目都有相同的DLL文件,它们从中运行。问题在于我在几个地方引用了硬编码到我的项目中的bin目录,所以当它看起来那里时,它回来了DLL混淆和错误。我如何让Visual Studio从原始bin目录运行程序集文件而不是复制它们并从临时文件运行它们?

P.S.请不要告诉我改变硬编码 - 有理由为什么它必须保持原样;这就是为什么我想弄清楚如何从垃圾箱运行。

谢谢

回答

2

这就是众所周知的阴影复制及其设计特性。特别是对于ASP.NET网站,它可以在不卸载应用程序域的情况下更新域程序集,这对于旨在持续运行的ASP.NET网站很重要。我真的建议将它留下,并重新评估使用\ bin目录的要求。

如果你真的要禁用阴影复制,以下内容添加到您的web.config文件:

<hostingEnvironment shadowCopyBinAssemblies="false" /> 

做上述的副作用,那是你在你的\ bin目录组件会在应用程序的生命周期中锁定。

相关问题