十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关怎么对 .NET 程序集进行合并,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
创新互联从2013年开始,公司以成都做网站、网站建设、系统开发、网络推广、文化传媒、企业宣传、平面广告设计等为主要业务,适用行业近百种。服务企业客户近千家,涉及国内多个省份客户。拥有多年网站建设开发经验。为企业提供专业的网站建设、创意设计、宣传推广等服务。 通过专业的设计、独特的风格,为不同客户提供各种风格的特色服务。假设我们有一个控制台应用程序 (这是我们的主程序) ,引用并且使用了两个类库 (我们的二级程序),而我们想把它们组合成一个文件:
我们按照设想构建了这个解决方案,获取了这三个程序:
注意 MyExecutable 的项目文件 (MyExecutable.csproj)是一个基于XML的文件,而如果我们查看它的内容,会发现一些ItemGroup节点. 这些节点博阿含定义了构建过程输入的子元素. 这些子元素可以引用需要被编译的应用程序的资源文件, 或者是一些需要被复制的资源,以及需要在构建处理中被包含进去的程序集 (如果对此感兴趣,你可以在MSDN MSBuild上了解到更多有关Visual Studio项目文件的信息).
现在让我们定位到 ItemGroup 节点,里面引用了要被包含进来的程序集:
{ea53ca82-13d7-4be1-b95a-4d9d7853d46e} MyLibrary1 {c31d21f3-e86a-4581-b4e8-acae6644d19e} MyLibrary2
这里,我们将添加一个条件,指示在Debug模式中构建 MyExecutable 时要到MSBuild那里去使用这些项目引用:
而对于发布(Release)模式,我们将来自 MyLibrary1 和 MyLibrary2 的所有源代码文件都包含进来,也进行编译. 我们会利用一个通配符文("\**\*.cs")将目录及其子目录汇总所有的CS文件都包含进来. 通配符文也会将一些我们不想要的资源代码文件包含进来(obj文件夹中的TemporaryGeneratedFile_[guid].cs 以及Property文件夹中的AssemblyInfo.cs文件就是这种情况) 因此我们将对它们进行排除:
MyLibrary1\%(RecursiveDir)%(Filename)%(Extension) false MyLibrary2\%(RecursiveDir)%(Filename)%(Extension) false
这样就可以了,让我们保存 MyExecutable.csproj 中的修改,并在发布模式中对解决方案进行重新构建:
我想要强调的最后一件事情就是,因为我们是在形式上将所有的程序集源文件的编译移到一个项目中, 项目需要能够编译那些文件才行. 因此你需要考虑下面这些事情:
为了能构建成功,主程序需要有二级程序所有的引用,资源,设置等等.
所有的程序集都需要用同一种 .NET 语言编写.
关于怎么对 .NET 程序集进行合并就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。