2009-03-11 41 views
19

問題が文書化されていると思いますが、Visual Studioのバグかもしれませんが、回避策が分かっているのでしょうか?

基本的に私は、prebuildイベントで、次の2行(他のものの中でも)1つ右に並んでいます。

"C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe" /p:configuration=Release;platform=x86 /t:rebuild "$(SolutionDir)Folder1\Project1.csproj" 

"C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe" /p:configuration=Release;platform=x86 /t:rebuild "$(SolutionDir)Folder2\Folder3\Project2.csproj" 

最初のものは成功し、他は "その "コマンド" と言って失敗したC:\ WINDOWS \ Microsoft.NET" からMSBuild.exe \枠組み\ V3.5の\/P:設定=リリース;プラットフォーム= x86の/ T: に問題があることだった考え出した: "*不定* FOLDER2 \ FOLDER3 \ Project2.csprojを" 再構築」のコードで1

(SO書式設定のastrisk原因の間に挿入スペース)

編集を終了しましたMSBuild自体がマクロについて知らないので、prebuildと同じ行の他のプロジェクトの1つが失敗しました。

+0

著者FYI:リンクが壊れています(VSフィードバック)。 – yzorg

答えて

0

これは多くのプロジェクトで発生するのか、1つか2つのみであるのかを指定しません。それは1つのまたは2つのプロジェクト内にある場合

、一時的な回避策はFOLDER2がに位置して明示的なパスに$(SolutionDir)を交換するかもしれません。例えば、何かのように:。

"C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe" /p:configuration=Release;platform=x86 /t:rebuild "C:\AllSolutions\ExampleSolutions\Folder2\Folder3\Project2.csproj" 

けど付きプロジェクトの正しいパス。

39

$(SolutionDir)をすべて$(ProjectDir)..\.に置き換えてこの問題を修正しました。

MSBuildは各プロジェクトを独立して実行していたため、解決策はありませんでした。 VS2010では正常に動作しましたが、ビルドサーバーでは正常に動作しませんでした。

+6

これはまだ2015年に問題があるとは思えません。 – drzaus

+0

陽気で十分ですが、私もあなたより約2週間遅れていますが、最近忘れてしまいました。(http://stackoverflow.com/a/20846447/1037948)答えを知ってここに終わりました – drzaus

+0

これは問題ではないので、あなたはソリューションではなくcsprojを構築しています –

関連する問題