【问题标题】:Add compile parameter to csc command using Visual Studio IDE使用 Visual Studio IDE 将编译参数添加到 csc 命令
【发布时间】:2013-09-17 12:17:27
【问题描述】:

该解决方案包含两个项目:main.csprojhelper.csproj

我想做的是使用将编译成helper项目的dll作为main.dll的嵌入式资源。

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

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

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

【问题讨论】:

  • 你的意思是,你找不到找到如何添加这个编译参数?
  • 如果我注意做的是正确的方法然后回答 - yes:我真的找不到如何添加这个编译参数。但也许还有另一种解决方法,我根本不应该添加编译参数。

标签: c# .net visual-studio-2010 csc


【解决方案1】:

您应该能够将辅助程序集作为资源添加到 main.csproj 中。这将使 MsBuild 为 csc 生成正确的参数。

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

你可以做的设置是:

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

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

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

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

【讨论】:

  • 老实说,从提出问题的那一刻起花费了太多时间,我不记得确切地对添加对项目的引用的可能性有任何限制。似乎我做不到。我们有两个共享相同主要项目的解决方案,但每个解决方案都有自己的助手。但是添加程序集作为链接的想法很好。我真的忽略了那个机会的存在。我会将您的回复标记为对我的问题的回答。
猜你喜欢
  • 2012-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
  • 1970-01-01
相关资源
最近更新 更多