質問

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

役に立ちましたか?

解決

マスター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 ファイルに保存されているため、警告は表示されません。

他のヒント

はい、情報を複数のファイルに分割できます。 要素のインポート(MSBuild)を使用できます。

次の場合、Visual Studioから迷惑なセキュリティ警告が表示されます。他のプロジェクトファイルを含むプロジェクトファイルを開こうとします。

MSDNからの便利なリンク:

方法:複数のプロジェクトファイルで同じターゲットを使用する

外部ファイルの拡張子は、慣例により .targets です。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top