c# - 使用 Copy Local 将程序集放在不同的目录中

标签 c# visual-studio-2010 .net-assembly

我目前正在 Visual Studio 2010 中处理一个 C# 项目,我需要使用一个程序集。我将它作为一个项目添加到我的解决方案中,并将其构建并复制到我的主项目的输出文件夹中。

问题是,为了整洁起见,我想要它以便程序集进入 bin/Debug/assemblies 而不是 bin/Debug,并且该程序集的引用使用它。

这有可能吗?

最佳答案

这种“整洁”是一个非常糟糕的主意。 CLR 不知道去哪里寻找这些程序集,如果没有 app.exe.config 文件就找不到它们。您需要提供一个 <probing>命名子目录的元素。您还需要一个构建后事件来使用 mkdir 和 xcopy 创建目录以复制文件。

如果这听起来像是要跳过太多障碍,那是因为 DLL Hell 是您永远不想搞砸的东西。 CLR 和构建系统都强烈反对它。 CLR 认为只有两个地方是明确的,即 GAC 和包含启动 EXE 的目录。其他任何事情都需要额外的步骤才能让 CLR 相信您不是偶然开枪的。

关于c# - 使用 Copy Local 将程序集放在不同的目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15002028/

相关文章:

c# - 如何在项目MVVM Toolkit中的ViewModel之间共享信息?

c# - 为什么 Count 不是无符号整数?

visual-studio-2010 - 我们在 Visual Studio 2010 Express 中有 Quick Watch 吗?

.net - T4 汇编指令找不到指定的文件

c# - new Version(AssemblyFileVersionAttribute.Version) 总是会成功吗?

c# - InternalsVisibleTo - 如何防止某人创建具有相同名称的程序集并访问内部类或方法?

c# - 使用 client.DownloadFile();

.net - '/' 应用程序中的服务器错误。 - 没有相关源代码行.NET FRAMEWORK 4.0

visual-studio-2010 - Resharper 与 Visual Studio 2010 的比较

c# - 为什么不能直接调用扩展方法?