.csproj部分文件
时间:2020-03-06 14:58:18 来源:igfitidea点击:
是否可以将.csproj中的信息拆分为多个文件?有点像partial class
功能的项目版本。
解决方案
好吧,我们可以将多个项目组合成一个大型解决方案,但是我认为这并不是我们要记住的,因为在这种情况下,每个项目都必须是一个完整的项目。
是的,我们可以将信息拆分到多个文件中。我们可以使用导入元素(MSBuild)。
请注意,如果我们尝试打开包含其他项目文件的项目文件,Visual Studio将给我们带来烦人的安全警告。
来自MSDN的有用链接:
如何:在多个项目文件中使用同一目标
请注意,按照惯例,外部文件的扩展名是.targets。
我们最多只能有一个主csproj。但是,由于csproj的底层布线是使用msbuild完成的,因此我们可以简单地将多个部分csproj相互导入。解决方案文件将看到最派生的csproj。
project1.csproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> .... </Project>
project2.csproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="project1.csproj" /> ... </Project>
project.csproj,这是解决方案文件引用的主要项目。
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="project2.csproj" /> ... </Project>
最重要的是,使用msbuild导入功能,我们可以拥有部分csproj文件,每个文件都包含主项目(在我的示例中为project.csproj)将使用的定义。
当我们打开更改的解决方案或者项目文件时,Visual Studio将显示"项目的安全警告"对话框。选择选项"正常加载项目",然后按OK。稍后再次打开解决方案时,将不会显示警告,因为"正常加载项目"的配置存储在suo文件中。