visual-studio - 如何将外部文件与程序集关联

标签 visual-studio

假设您有一个类库项目,其中包含任意数量的补充文件,这些文件也需要包含在已编译的程序集中(例如,简单的文本文件,甚至是由程序集包装为互操作层的遗留非托管 DLL)。将补充文件嵌入到程序集本身是 relatively straightforward ,我们有这样的情况,这是不可能的或只是不受欢迎的。我们需要将它们作为“sidecar”文件(即程序集旁边的文件,可能位于与程序集相关的子目录中)

将这些文件添加到项目中,并为“复制到输出目录”指定适当的值,这对于在解决方案中完全独立的项目来说似乎就足够了。但是,如果另一个解决方案中的单独项目添加了对程序集的引用,则它不会自动拾取其边车文件。项目中有没有办法以某种方式标记生成的程序集,以便引用程序集的任何内容也知道它需要包含关联的边车文件?你怎么做到这一点?

最佳答案

您可以使用 al.exe,但似乎还有一个 C# 编译器选项。您想使用/linkresource C# 编译器选项创建多文件程序集。说明是here ,但命令与此类似:

csc /linkresource:N.dll /t:library A.cs

其中 N.dll 是一个 native DLL,它会出现在托管程序集的任何地方(包括进入 GAC)。我提供的链接中有一个非常清晰的描述。

关于visual-studio - 如何将外部文件与程序集关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/782395/

相关文章:

visual-studio - Visual Studio 编译时插件

c++ - 配置 Visual Studio 以创建 32 位和 64 位配置

c# - 如何在 2d 图形中标记 Excel X 和 Y 轴

visual-studio - 你可以在 Visual Studio 对接中禁用自动隐藏动画吗?

c# - 为什么 Visual Studio 添加项目或文件需要这么长时间

c++ - Visual Studio 跳过代码行

windows - 将 PowerShell 用于 Visual Studio 命令提示符

c++ - 将文件用于一个文件夹中的不同项目

visual-studio - Visual Studio : Refresh "Find All References" results

c# - 将 SQL Server Express 2008 降级到 SQL Server Express 2005?