C# 部分.csproj文件

C# 部分.csproj文件,c#,csproj,C#,Csproj,是否可以将.csproj中的信息分割到多个文件中?有点像部分类功能的项目版本。您可以将多个项目组合到一个大型解决方案中,但我不认为这正是您想要的,因为在这种情况下,每个项目都必须是一个完整的项目。是的,您可以将信息拆分到多个文件中。你可以用 请注意,如果您试图打开包含其他项目文件的项目文件,VisualStudio将为您提供 来自MSDN的有用链接: 请注意,按照约定,外部文件具有.targets扩展名。不能有多个主csproj。但由于csproj的底层布线是使用msbuild完成的,因此您可

是否可以将.csproj中的信息分割到多个文件中?有点像部分类功能的项目版本。

您可以将多个项目组合到一个大型解决方案中,但我不认为这正是您想要的,因为在这种情况下,每个项目都必须是一个完整的项目。

是的,您可以将信息拆分到多个文件中。你可以用

请注意,如果您试图打开包含其他项目文件的项目文件,VisualStudio将为您提供

来自MSDN的有用链接:


请注意,按照约定,外部文件具有.targets扩展名。

不能有多个主csproj。但由于csproj的底层布线是使用msbuild完成的,因此您可以简单地拥有多个相互导入的部分csproj。解决方案文件将看到最派生的csproj

project1.csproj

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    ....
</Project>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="project1.csproj" />
    ...
</Project>

....
project2.csproj

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    ....
</Project>
<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>

...
底线是,使用msbuildImport功能,您可以拥有部分csproj文件,其中每个文件都包含主项目(在我的示例中为project.csproj)将使用的定义



当您打开更改后的解决方案或项目文件时,Visual Studio将显示“项目安全警告”对话框。选择选项正常加载项目,然后按确定。以后再次打开解决方案时,不会显示警告,因为正常加载项目的配置存储在suo文件中。

您可以选择正常加载项目,下次打开项目时不会显示警告。这是存储在suo文件中的。我知道,但suo文件通常不在源代码管理下存储。