8

该解决方案由两个项目组成:main.csprojhelper.csproj.

我想做的是使用helper将编译到的项目的 dll 作为main.dll.

main为此目的,为 project :添加自定义编译属性似乎是合理的/resource: <path to dll>

问题是我找不到如何通过项目属性添加这个编译参数。

PS也许有人可以建议其他解决方案以避免在编译过程中进行更改。

4

1 回答 1

5

您应该能够将辅助程序集作为资源添加到 main.csproj 中。这将使 MsBuild 为csc.

(MsBuild 是 .NET 通常使用的构建引擎,直到并包括 4.x,也被 VisualStudio 使用。)

您可以做的设置是:

  • 右键单击MainVisual Studio 解决方案资源管理器中的项目,然后选择Add existing item。从帮助项目的 bin 文件夹中添加要作为链接项嵌入的程序集。(单击选择对话框中添加按钮上的小箭头以访问添加为链接的选项)。
  • 在项目中Main项目的属性中,将Action设置为Embedded resource

棘手的一点是包含正确的构建,以便根据您正在构建的配置包含调试构建或发布构建。如果您需要,您可以:

  • 编辑 main.csproj 文件以将${Configuration}变量包含在帮助程序 dll 的路径中。
  • 将预构建步骤添加到 main.csproj 文件以将程序集复制到固定位置并从那里包含文件(然后不再需要包含作为链接位)

为了确保在构建主程序集时始终构建辅助程序集,我建议您向主项目添加项目引用。

于 2015-04-23T12:36:09.003 回答