是否可以将 .csproj 中的信息拆分到多个文件中?有点像该partial class
功能的项目版本。
Richard Nagle
问问题
5420 次
3 回答
23
您不能拥有多个主 csproj。但是因为 csproj 的底层布线是使用 msbuild 完成的,所以您可以简单地拥有多个相互导入的部分 csproj。解决方案文件将看到派生最多的csproj。
项目1.csproj
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
....
</Project>
项目2.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 将显示项目对话框的安全警告。选择选项Load Project Normal并按OK。稍后再次打开解决方案时,将不会显示警告,因为通常加载项目的配置存储在suo文件中。
于 2008-10-01T11:23:34.693 回答
6
是的,您可以将信息拆分到多个文件中。您可以使用Import Element (MSBuild)。
请注意,如果您尝试打开包含其他项目文件的项目文件,Visual Studio 会给您带来烦人的安全警告。
来自 MSDN 的有用链接:
请注意,外部文件按约定具有.targets扩展名。
于 2008-10-01T11:18:17.297 回答
-3
好吧,您可以将多个项目组合成一个大型解决方案,但我认为这并不是您的想法,因为在这种情况下,每个项目都必须是一个完整的项目。
于 2008-10-01T11:15:17.740 回答