web-dev-qa-db-ja.com

MSBuildファイルの標準のファイル拡張子はありますか?

プロジェクトファイルではなく、より複雑なビルドスクリプトであるMSBuildファイルの標準ファイル拡張子はありますか?

他の.projファイル(実際にはMSBuildファイルであることがわかっています)との混同を避けるために、.msbuild.projを考えていました。

66
Josh Kodroff

UPDATE:振り返ってみると、回答を更新してより多くの規則。クレジットは イブラヒム橋見と言った そしてこのスレッドの他の人に行きます。


.proj

一般的な使用のための一般的な規則。通常、メインビルドスクリプトで使用されます。

例:

build.proj
main.proj 
company.product.build.proj

.targets

.targetsファイルは、Import要素を使用して他のファイルにインポートすることを目的としたファイルです。これらのファイルは厳密に再利用可能であるため、実際には何もビルドされません。通常、実際に何かを構築するためのプロパティとアイテム値が欠落しています。

例:

Microsoft.Common.targets
Microsoft.CSharp.targets
Microsoft.Data.Entity.targets

.**proj

****が言語の短い頭字語を表す言語固有の規則。

よく知られている拡張機能:

.csproj    | C#
.vbproj    | VB.NET
.vcxproj   | Visual C++
.dbproj    | Database project
.fsproj    | F#
.pyproj    | IronPython
.rbproj    | IronRuby
.wixproj   | Windows Installer XML (WiX)
.vdproj    | Visual Studio Deployment Project
.isproj    | InstallShield 
.pssproj   | PowerShell
.modelproj | Modeling project

.props

プロジェクトプロパティシート Visual C++プロジェクトで使用されます(.vcxproj)。

例:

Microsoft.Cl.Common.props
Microsoft.Cpp.CoreWin.props
Microsoft.Cpp.props
Microsoft.Link.Common.props

.tasks

呼び出し元のMSBuildプロジェクトによってインポートされる一般的なインクルードファイル。 <UsingTask>要素のリストが含まれています。

例:

Microsoft.Common.Tasks
MSBuild.ExtensionPack.tasks

.settings.targets

(これは、厳密に言えばファイル拡張子ではない場合、関連する規則です。)

呼び出し元のMSBuildプロジェクトによってインポートされる一般的なインクルードファイル。 "ビルドおよびデプロイメントプロセス中に使用される共有ユーティリティに関連するさまざまなプロパティ、およびその他の一般的な設定"Sayed Ibrahim Hashimi、2009 )が含まれます。

例:

EntityFramework.settings.targets

Compiler.settings.targets

Library.Settings.targets

79
KMoraz

標準に最も近いのは次のとおりです。

  1. .proj
  2. .targets
  3. .XXproj

。targetsファイルは、 Import element を使用して他のファイルにインポートされることを意図したファイルです。これらのファイルは厳密に再利用可能であるため、何もビルドされません。通常、実際に何かを構築するためのプロパティとアイテム値が欠落しています。

。projファイルは、自分で作成できる作成済みファイルです。 .targetsファイルをインポートする場合があります。

。XXprojたとえば、.csprojまたは.vbprojは、特定の言語を含むファイルをビルドするファイルです。たとえば、.csprojはC#プロジェクト用で、.vbprojはVB.NETプロジェクトファイル用です。この規則は、VisualStudioに由来します。

14

.buildを使用するだけです

5
Richard Everett

私はVSが行うことをお勧めします:

.*proj for project files --- msbuild.exe will find them automatically if they match this pattern
.targets for build process --- generally imported towards the end of your project
.props for shared settings --- generally imported towards the top of your project. C++ (*.vcxproj) files use these, and they will doubtless get added to VB and C# default project files at some point.
2
cheerless bog