16

.csproj の情報を複数のファイルに分割することはできますか? 機能のプロジェクト バージョンに少し似ていpartial classます。

4

3 に答える 3

23

複数のマスター 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 Import機能を使用すると、メイン プロジェクト (私の例では project.csproj) が使用する定義が含まれる部分的な 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

複数のプロジェクトを 1 つの大きなソリューションにまとめることができますが、その場合、各プロジェクトは完全なプロジェクトでなければならないため、それはあなたが念頭に置いていたことではないと思います。

于 2008-10-01T11:15:17.740 に答える