0

Team Foundation Server ビルド定義を使用して、MSBuild でビルドする PrimaryBuild.targets ファイルを取得しました。このファイルは、他の msbuild タスクを呼び出して、私のコンポーネントと他の多くのターゲットに含まれるすべての VB ソリューションをビルドします。

(msbuild PrimaryBuild.targets)

/t:FullBuild;Deploy /p:Decorator=NTBMDev;DropLocation=\\xxx.xxx.xxx.xxx\;CurrentBranch=DEV;Configuration=Debug

ローカル コンピューターでバッチからビルドすると、すべて問題ないように見えます。ビルド サーバーでビルドすると、ビルド プロセス中に PrimaryBuild.target.vsprops ファイルが作成されます。IT がプロジェクトの OutputDirectory を上書きし、すべての出力ファイルが間違ったフォルダーにコピーされます (展開ターゲットが見つかりません)

<?xml version="1.0" encoding="utf-8"?>
<VisualStudioPropertySheet ProjectType="Visual C++" Version="8.00" Name="Team Build Overrides" OutputDirectory="C:\Builds\7\NexTra\BMDEV\Binaries" />

ビルド プロセスのどこにも VC++ プロジェクトはビルドされません。私は VB プロジェクトのみを使用するか、独自のターゲットを作成します。また、これはサーバーでのビルド中に .vsprops を作成する唯一のコンポーネントであり、他のコンポーネントは正常に動作します。どこを検索すればよいのか、なぜこのプロジェクトがこのファイルを作成するのかさえわかりません。
それが役立つ場合 - これは私のログからの CoreCompile です:

c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Vbc.exe /noconfig /baseaddress:11000000 /imports:Microsoft.VisualBasic,System,System.Collections,System.Data,System.Diagnostics /optioncompare:Binary /optionexplicit+ /optionstrict+ /nowarn:42353,42354,42355 /optioninfer+ /nostdlib /removeintchecks- /sdkpath:"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0" /doc:obj\Debug\RuleSet.BM.xml /define:"CONFIG=\"Debug\",DEBUG=-1,TRACE=-1,_MyType=\"Windows\",PLATFORM=\"AnyCPU\"" /reference:**********.dll,***********.dll,***********.dll,*************.dll,"C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Core.dll","C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll","C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll","C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Drawing.dll","C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Windows.Forms.dll","C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.dll" /debug+ /debug:full /keyfile:..\..\..\Transformer.snk /optimize- /out:obj\Debug\RuleSet.BM.dll /target:library /warnaserror- RuleSet.BM.vb AssemblyInfo.vb RuleSetInfo.vb "C:\Documents and Settings\pl-nextrabuild\Local Settings\Temp\.NETFramework,Version=v4.0.AssemblyAttributes.vb" /warnaserror+:41999,42016,42017,42018,42019,42020,42021,42022,42032,42036
4

1 に答える 1

1

.vsprops ファイルは、ビルドで使用されていない C++ プロジェクトがある場合に備えて、TFS によって作成されます。ただし、TFS が他のすべてのプロジェクトに対して作成する $(OutDir) と同じ変更が含まれています。ファイルをチェックアウトし、

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets

CoreCleanSolution ターゲットを見てロジックを確認します。TFS ビルド プロセス テンプレートで OutDir を検索して、TFS がこのプロパティをどのように変更しているかを確認します。これが、プロジェクトが別の場所にビルドされる理由です。

于 2011-07-14T16:20:31.540 に答える