怎么对。net程序集进行合并

  介绍

这篇文章将为大家详细讲解有关怎么对。net程序集进行合并,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

假设我们有一个控制台应用程序(这是我们的主程序),引用并且使用了两个类库(我们的二级程序),而我们想把它们组合成一个文件:

怎么对。net程序集进行合并“> </p> <p>我们按照设想构建了这个解决方案,获取了这三个程序:</p> <p> <img src= {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程序集进行合并“> </p> <p>我想要强调的最后一件事情就是,因为我们是在形式上将所有的程序集源文件的编译移到一个项目中,项目需要能够编译那些文件才行。因此你需要考虑下面这些事情:</p> <p>为了能构建成功,主程序需要有二级程序所有的引用,资源,设置等等。</p> <p>所有的程序集都需要用同一种。net语言编写。</p> <p class=关于怎么对。net程序集进行合并就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

怎么对。net程序集进行合并