【问题标题】:How do you make Visual Studio run assembly files (dependencies) from the bin?如何让 Visual Studio 从 bin 运行程序集文件(依赖项)?
【发布时间】:2010-07-14 15:53:24
【问题描述】:

我有一个由多个相互依赖的项目组成的解决方案。当我构建项目/解决方案时,它会在 Project\bin 文件夹中创建应有的 DLL 程序集文件。但是当我运行程序时,它会将所有内容复制到临时文件夹并从那里运行:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\ApplicationName

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

附:请不要告诉我更改硬编码——它必须保持原样是有原因的;这就是为什么我试图弄清楚如何从垃圾箱中运行。

谢谢

【问题讨论】:

    标签: c# visual-studio dll assemblies bin


    【解决方案1】:

    这被称为影子复制,它是一种设计功能。特别是对于 ASP.NET 站点,它可以在不卸载应用程序域的情况下更新域程序集,这对于设计为连续运行的 ASP.NET 站点非常重要。我真的建议将其保留,并重新评估使用 \bin 目录的要求。

    如果您真的想禁用卷影复制,请将以下内容添加到您的 web.config 文件中:

    <hostingEnvironment shadowCopyBinAssemblies="false" />
    

    执行上述操作的副作用是,\bin 目录中的程序集将在应用程序的生命周期内被锁定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      相关资源
      最近更新 更多