这篇文章将为大家详细讲解有关怎么对。net程序集进行合并,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
假设我们有一个控制台应用程序(这是我们的主程序),引用并且使用了两个类库(我们的二级程序),而我们想把它们组合成一个文件:
{ea53ca82-13d7-4be1-b95a-4d9d7853d46e} & lt;/Project> ,,,& lt; Name> MyLibrary1 & lt;才能/ProjectReference> & lt;才能ProjectReference 包括=? . \ MyLibrary2 \ MyLibrary2.csproj"比; ,,,& lt; Project> {c31d21f3 e86a - 4581 b4e8 - acae6644d19e} & lt;/Project> ,,,& lt; Name> MyLibrary2 & lt;才能/ProjectReference> & lt;/ItemGroup>
这里,我们将添加一个条件,指示在调试模式中构建MyExecutable时要到MSBuild那里去使用这些项目引用:
& lt; ItemGroupCondition=? # 39;(配置)& # 39;美元==& # 39;调试# 39;“在
而对于发布(释放)模式,我们将来自MyLibrary1和MyLibrary2的所有源代码文件都包含进来,也进行编译。我们会利用一个通配符文(“\ * * \ * .cs")将目录及其子目录汇总所有的CS文件都包含进来。通配符文也会将一些我们不想要的资源代码文件包含进来(obj文件夹中的TemporaryGeneratedFile_ (guid)。cs以及财产文件夹中的AssemblyInfo.cs文件就是这种情况)因此我们将对它们进行排除:
& lt; ItemGroup 条件=?& # 39;美元(配置)& # 39;,==,& # 39;发布# 39;,“在 & lt;才能Compile 包括=? . \ MyLibrary1 \ * * \ * .cs" ,,,,,,,,,,排除=? . \ MyLibrary1 \ \ AssemblyInfo.cs属性; ,,,,,,,,,,,,,,,,,,,. . \ MyLibrary1 \ obj \ * *; ,,,,,,,,,,,,,,,,,,,. . \ MyLibrary1 \ bin \ * *“比; ,,,& lt;每日MyLibrary1 \ % (RecursiveDir) %(文件名)%(扩展)& lt;每日; ,,,& lt; Visible> false & lt;才能/Compile> & lt;才能Compile 包括=? . \ MyLibrary2 \ * * \ * .cs" ,,,,,,,,,,排除=? . \ MyLibrary2 \ \ AssemblyInfo.cs属性; ,,,,,,,,,,,,,,,,,,,. . \ MyLibrary2 \ obj \ * *; ,,,,,,,,,,,,,,,,,,,. . \ MyLibrary2 \ bin \ * *“比; ,,,& lt;每日MyLibrary2 \ % (RecursiveDir) %(文件名)%(扩展)& lt;每日; ,,,& lt; Visible> false & lt;才能/Compile> & lt;/ItemGroup>
这样就可以了,让我们保存MyExecutable。csproj中的修改,并在发布模式中对解决方案进行重新构建:
关于怎么对。net程序集进行合并就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。