使用Visual Studio IDE向csc命令添加编译参数

8
解决方案由两个项目组成:main.csprojhelper.csproj
我的想法是:将helper项目编译为dll,并将其作为嵌入式资源添加到main.dll中,以便使用它。
为此,在main项目中添加自定义编译属性似乎是合理的:/resource: <path to dll>
问题在于我无法通过项目属性添加此编译参数。
附注:也许有人可以提出其他解决方案以避免在编译过程中进行更改。

你的意思是,你找不到如何添加这个编译参数? - Daniel Hilgarth
如果我要做的是正确的方式,请回答“是”:我真的找不到如何添加这个编译参数。但也许有另一种解决方法,我根本不需要添加编译参数。 - DotNetter
1个回答

5
您应该能够在main.csproj中将辅助程序集作为资源添加。这将使MsBuild生成正确的参数供csc使用。(MsBuild是.NET通用的构建引擎,包括4.x在内,并且也被VisualStudio使用。)
要设置此项,您可以执行以下操作:
右键单击Visual Studio解决方案浏览器中的Main项目,然后选择“添加现有项”。从helper项目的bin文件夹中添加要嵌入的程序集作为链接项。(在选择对话框中单击“添加”按钮上的小箭头以访问将其添加为链接的选项)。
在Main项目的项属性中,将操作设置为“嵌入式资源”。
棘手之处在于包含正确的构建,以便根据正在构建的配置包含调试构建或发布构建。如果需要,您可以执行以下操作:
编辑main.csproj文件,将${Configuration}变量包含在辅助dll的路径中。
将预构建步骤添加到main.csproj文件中,将程序集复制到固定位置并从那里包含文件(然后不再需要“包含为链接”部分)。
为确保在构建主程序集时始终构建辅助程序集,我建议您向主项目添加项目引用。

说实话,从问题被提出到现在已经花费了太多时间,我也不记得是否有任何关于添加项目引用的限制。看起来我不能这样做。我们有两个解决方案,它们共享相同的主项目,但每个都有自己的帮助程序。但是将程序集作为链接添加的想法很好。我确实忽视了这种机会的存在。我会将您的回复标记为我的问题的答案。 - DotNetter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接