<ItemGroup>
<ProjectReference Include="..\MyLibrary1\MyLibrary1.csproj">
<Project>{ea53ca82-13d7-4be1-b95a-4d9d7853d46e}</Project>
<Name>MyLibrary1</Name>
</ProjectReference>
<ProjectReference Include="..\MyLibrary2\MyLibrary2.csproj">
<Project>{c31d21f3-e86a-4581-b4e8-acae6644d19e}</Project>
<Name>MyLibrary2</Name>
</ProjectReference>
</ItemGroup>
这里,我们将添加一个条件,指示在Debug模式中构建 MyExecutable 时要到MSBuild那里去使用这些项目引用:
<ItemGroupCondition="'$(Configuration)'=='Debug'">而对于发布(Release)模式,我们将来自 MyLibrary1 和 MyLibrary2 的所有源代码文件都包含进来,也进行编译. 我们会利用一个通配符文("\**\*.cs")将目录及其子目录汇总所有的CS文件都包含进来. 通配符文也会将一些我们不想要的资源代码文件包含进来(obj文件夹中的TemporaryGeneratedFile_[guid].cs 以及Property文件夹中的AssemblyInfo.cs文件就是这种情况) 因此我们将对它们进行排除:
<ItemGroup Condition=" '$(Configuration)' == 'Release' "> <Compile Include="..\MyLibrary1\**\*.cs" Exclude="..\MyLibrary1\Properties\AssemblyInfo.cs; ..\MyLibrary1\obj\**; ..\MyLibrary1\bin\**"> <Link>MyLibrary1\%(RecursiveDir)%(Filename)%(Extension)</Link> <Visible>false</Visible> </Compile> <Compile Include="..\MyLibrary2\**\*.cs" Exclude="..\MyLibrary2\Properties\AssemblyInfo.cs; ..\MyLibrary2\obj\**; ..\MyLibrary2\bin\**"> <Link>MyLibrary2\%(RecursiveDir)%(Filename)%(Extension)</Link> <Visible>false</Visible> </Compile> </ItemGroup>这样就可以了,让我们保存 MyExecutable.csproj 中的修改,并在发布模式中对解决方案进行重新构建: [img]http://files.jb51.net/file_images/article/201503/2015032410421036.png[/img] 我想要强调的最后一件事情就是,因为我们是在形式上将所有的程序集源文件的编译移到一个项目中, 项目需要能够编译那些文件才行. 因此你需要考虑下面这些事情: 为了能构建成功,主程序需要有二级程序所有的引用,资源,设置等等. 所有的程序集都需要用同一种 .NET 语言编写. 以上就是本文所述的全部内容了,希望大家能够喜欢。
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有