Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使Visual Studio从bin运行程序集文件(依赖项)?_C#_Visual Studio_Dll_Assemblies_Bin - Fatal编程技术网

C# 如何使Visual Studio从bin运行程序集文件(依赖项)?

C# 如何使Visual Studio从bin运行程序集文件(依赖项)?,c#,visual-studio,dll,assemblies,bin,C#,Visual Studio,Dll,Assemblies,Bin,我有一个由多个相互依赖的项目组成的解决方案。当我构建项目/解决方案时,它会在project\bin文件夹中创建DLL程序集文件。但当我运行该程序时,它会将所有内容复制到临时文件文件夹并从那里运行: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NET临时文件\ApplicationName 因此,在bin文件夹和临时文件文件夹中,每个项目都有相同的DLL文件,从中运行。问题是我在几个地方将对bin目录的引用硬编码到了我的项目中,所以当它在那里

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

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NET临时文件\ApplicationName

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

另外,请不要告诉我改变硬编码-有理由它必须保持原样;这就是为什么我想知道如何从垃圾桶里跑出来


谢谢

这就是所谓的卷影复制,它是一种设计功能。特别是对于ASP.NET站点,它允许在不卸载应用程序域的情况下更新域程序集,这对于设计为连续运行的ASP.NET站点非常重要。我真的建议您保持打开状态,并重新评估\bin目录的使用要求

如果确实要禁用卷影复制,请将以下内容添加到web.config文件中:

<hostingEnvironment shadowCopyBinAssemblies="false" />

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