web-dev-qa-db-ja.com

Visual Studio 2015プロジェクトのビルドは失敗しましたが、エラーはありません

プロジェクトのビルドはすべて失敗しますが、エラーは表示されません。掃除と再構築を試みましたが、うまくいきませんでした。

MSBuildの出力の冗長性を「診断」に変更し、問題の特定に役立てることができるようになりました。出力は次のようになります。

1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========
103
Rob Greenlee

私は同じ問題を抱えており、Visual Studioを閉じて再度開くと問題は解決します。

ソリューションのクリーニングも試みましたが、クリーニングも失敗しました。

これでうまくいかないシナリオは他にもあるかもしれませんが、私の場合は再起動することで解決しました。

97
carsonevans

すべてのビルドエラーが表示されていない可能性があります。

[メッセージ]アイコンの後のドロップダウンリストを[ビルド+ Intellisense]から[ビルドのみ]に変更すると、ビルド中にスローされ、Intellisenseによって検出されないエラーを確認できます。以下のスクリーンショットを参照してください。

Build

「ビルドに失敗しました」と報告されるVS2015の通常のインスタンスを見てきましたが、エラーウィンドウにエラーが表示されていません。古代のコマンドラインの背景から来て、ついに出力ウィンドウを見ました。出力ウィンドウには、コンパイラがエラーを報告していることが示されていましたが、それらのエラーはエラーウィンドウにキャプチャされていませんでした。私はVS2013でこの問題を見たことはありません。

VSの通常のクローズと再オープンは、この状態をクリアしていません。 (VS2013では、これはXAMLインテリセンスを後部でキックし、修正された「エラー」で修正を停止する一般的な方法でした。)

これまでのところ、これは常にXAMLページCSファイルのコンパイルエラーに関連しています。非ページCSファイルで見たのを思い出せません。

出力ウィンドウを確認しようとするまで、エラーウィンドウでのインテリセンスレポートのようなものは、XAML内のオブジェクトへの無効な参照ですが、エラーウィンドウに表示されるコンパイラエラーは、 XAMLエラーを報告するインテリセンス。しかし、実際にはそうではありません。 XAMLエラーは、コンパイルに失敗したが、エラーウィンドウにエラーが報告されていないCSファイルの単なる症状です。

32
Keith

VS2015の場合、非表示の.vsフォルダーを削除してください。

(これは現在SUOファイルが存在する場所であることに注意してください)

9
Mike Asdf

これは、異なる.netフレームワークバージョンのプロジェクト(私の場合はv4.5.2とv4.5)を参照するときに発生する可能性があります。これを修正すると問題が解決します。

7

私が起こったことは、コンピューターのタイムゾーンを+5:30に変更してから-5:00に戻すことで、VSが混乱しました。 VSを再起動すると、再び正常に機能しました。

6
M B

VS2015 Update 3 RCおよびXamarin(.Forms共有プロジェクト)でこの問題が発生しました。
コンパイラは停止せず、エラーは出力ウィンドウにのみ表示されました。
これはXamarinプロジェクトのみ(VB.NETプロジェクトではすべて期待どおりに機能します)...
問題の理由を見つけるために、VSのビルド出力を変更しました。
-メニュー「ツール-オプション」
-左パネルから:「プロジェクトとソリューション:ビルドと実行」:
-「MSBuild Output Verbosity」を「Minimal」から「Diagnostic」に変更します

その後、コンパイラは停止し、エラーが表示されました。
その後、オプションを「診断」から「最小」(以前のように)に戻し、...「最小」でも動作しました(確かに、VSも再起動しました) )...

だから。(少なくとも私の場合)設定(MSBuild Output Verbosity)を変更(タッチ)するだけで問題が解決し、これはVSおよび/またはXamarin統合ソフトウェアのバグであるようです...

6
FredyWenger

プロジェクトFrameworkのすべてのバージョンをチェックし、それらがすべて同じであることを確認します。または、少なくともプロジェクトBの.NET Frameworkバージョンが高い場合、そのプロジェクトAはプロジェクトBを参照しません。

5
Daniel Minnaar

この問題に直面しているのは私だけかどうかはわかりません。私の場合、Visual Studioを開いたとき、タイムゾーンはGMT + 1:00にあり、ビルドは成功し、タイムゾーンをGMT + 5:30に変更し、Visual Studioを再起動せずにアプリケーションを実行しようとしましたが、ビルドはエラーや警告なしで失敗し、タイムゾーンをGMT + 1:00に戻し、エラーなしでビルドが成功しました。

警告を確認してください。

参照プロジェクトが4.0であったときにターゲット.Net Framework 4.5を使用した新しいクラスライブラリがあったため、参照の問題が発生しました。

ターゲット.Net Framework 4.0でクラスライブラリを変更した後、正しく機能しました。

2
user3171101

上記の回答からは何も助けになりませんでした。多くの実験の後、問題がプロジェクトの1つにあるMicrosoft.Net.Compilers v2.10.0の参照であることをようやく発見しました。 VS 2015は、そのバージョンのMicrosoft.Net.CompilersをサポートしないMSBuild v14を使用します。

2
Petar Petrov

この問題があり、空の名前空間を指すusingがあることがわかりました。そのusing句を削除すると、問題が修正されました

2
Phate01

私がやったことは(上記のすべての後、まだ機能していませんでした)、すべてのbinフォルダを調べて、それらをすべて消去しました(つまり、参照プロジェクトも)。

これは私にとってはうまくいきました。あなたにも役立つことを願っています。

1
Rodney Ellis

ソリューションを開いて生成すると、[出力]タブで報告されたビルドエラーまたは警告が表示されますが、[エラー]タブでは問題は報告されません。

enter image description here

[エラー]タブの設定がOKであることがわかります([ビルドのみ]および[ソリューション全体]が選択されています)。

詳細な調査の結果、これは、ビルドを開始したときに「エラー」タブがまだ表示されていない場合にのみ発生することがわかりました!

ビルドを実行する前に[エラー]タブをアクティブにした場合(またはVisualを起動したときに現在のタブだった場合)、新しく検出されたエラー/警告が正しく表示されます。

enter image description here

「エラー」タブは、表示されたときにのみ初期化されます(最初にクリックするのに時間がかかるため、本当かもしれません...)、そうでない場合、ビルドを収集しません。結果...

これまでのところ、「ビルド前にエラータブをアクティブ化する」よりもこの問題に対するより良い答えはありません。

そして、それが「VSの再起動」がいつか機能する理由だと思います。 「エラータブ」が空であることがわかり、VSを閉じて再送信すると、VSが以前のセッションから現在アクティブなタブを復元したため、デフォルトで「エラータブ」が表示されます。ビルドすると、「エラー」タブが表示されます...!あなたはちょうど幸運になりました。

注:VSのバグを報告しました: https://connect.Microsoft.com/VisualStudio/feedback/details/3132689

1
jpo38

警告を確認してください。何らかの警告が原因でビルドが失敗することもありました。

1
Krishna

私にとって、この問題はカスタムCodeAnalysisルールセット設定「IncludeAll」に関連していました。

コンパイラは次の設定を監視しているようです:

  <IncludeAll Action="Error" />

しかし、IntelliSenseは、ルールIDで「警告」であるデフォルトのアクションを実行しました。これは、@ RobertHarveyで見られる動作を説明し、ビルドのみで出力をフィルタリングし、ERRORとして表示されますが、Intelliseneでフィルタリングした場合のみWARNINGと表示されます。デフォルトのBuild + Intellisenseによる出力のフィルタリングは非決定的なようです!

私の修正は、警告として警告になりたいというルールを明示的に呼び出すことでした。

  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="CS0618" Action="Warning" />
  </Rules>

これは、IntellisenseがIncludeAllオプションを監視しない問題である可能性があります。 https://github.com/dotnet/roslyn/issues/74 を参照してください

1
felickz

これは、古いフレームワークを使用してプロジェクトをVisual Studio 2015に移行するときにも発生する可能性があります。エラーリストで警告を確認してください。プロジェクトは現在.NETバージョン2.0であり、.NET 3.5以降が必要であることがわかります。同様の警告が見つかった場合は、プロジェクトのプロパティに移動し、必要な.NET Frameworkをターゲットにします。

1
Tyriddik

これを試して

依存関係から"mstscax.dll"を除外することは私にとってはうまくいきました。

0
Emile Cloete

MSBuild.exeはディレクトリ(C:\ Program Files(x86)\ MSBuild\14.0\Bin)で変更されます

そのため、vs2015を持つ他のPCのMSBuild.exeを置き換えるだけです。

今では正常に動作しています。

0
sabarish

this answerから取得

コンパイルは失敗し、出力ウィンドウにエラーは表示されませんでした。

問題の理由を見つけるために、VSのビルド出力を変更しました。-メニューの[ツール-オプション]-左パネルから:[プロジェクトとソリューション:ビルドと実行]:-[MSBuild出力の詳細]を[最小」から「診断」

それをした後、私は実際に依存関係プロジェクトの間違いである本当の理由を見つけました。私が依存していたプロジェクトは、私のものとは異なる(新しい)フレームワーク用に構築されたものです。したがって、問題を作成します。エラーは、出力冗長性を診断に設定したときにのみ出力されました

0
John Demetriou

私にとっては、それは不正な添付プロパティでした。問題は、必ずしもエラーが表示されなかったことではありません。エラーは次のとおりです。

子ノード「2」が途中で終了しました。シャットダウンします。診断情報は、MSBuild _ *。failure.txtという名前の一時ファイルディレクトリ内のファイルにあります。

Visual Studioを閉じようとしない限り、最初はビルドがハングし、エラーは表示されませんでした。再起動後、ビルド時に長時間ハングし、上記のメッセージが表示されます。

非表示の.vsフォルダーの削除、ソリューションの再構築/クリーニング、およびVisual Studioの再起動は機能しませんでした。添付プロパティを削除しました;つまり、適切に動作していない実際のコードである可能性があります。

最後の手段として、ここで解決策が役に立たなかったため、問題が解決するまで、最近の変更を1つずつ削除します。

更新

私は従来のWPFアプリケーションの開発に慣れているため、UWPで.sを使用してXAML名前空間を "チェーン"化できないことに気づきませんでした。を使用して添付プロパティを設定しようとしました

My.Namespace:SomeClass.SomeProperty="SomeValue"

一方、それはただあるべきです

MyNamespace:SomeClass.SomeProperty="SomeValue"

それは私が好きなほどきれいではありませんが、明らかにそれが唯一の方法です。

0
James M

私のために働いたもの:

すべてのドキュメントを閉じることで問題は解決しました。 (intelliSenseが機能しなくなった場合の同じソリューション)

(右クリックタブ-すべてのドキュメントを閉じる)

0
Ziv Weissman

私にとって、ビルドはエラーなしで失敗しましたが、いくつかの軽い調査の後、MSHTMLの参照がVSによって検出されないことがわかりました。

enter image description here

この動作は、Windows 10の更新後に現れました。修正するには、GACからアセンブリを登録する必要があります。それを行う方法については、この回答にアクセスしてください Windows 10上のMSHTML DLL それが私の答えを見つけた場所です。

0
Fid

Dllファイルを更新した後、新しいファイルが.NET Frameworkの上位バージョンをターゲットにしていることが判明しました。解決策は、プロジェクトプロパティに移動し、ターゲットフレームワークを適切なバージョンに変更することでした。

0
usefulBee

ニッチな問題:今、同じ問題にぶつかりました。上記の答えはどれも役に立たなかったようです。

Issueはコンソールプログラム用であり、Main()メソッドをasync **としてマークすることはできません。確かではありません。なぜVisual Studioがプロジェクトが正確にビルドされなかったのかを特定できなかった理由です(毎回エラー0と警告0を受け取りました)。 Visual Studio 2015 Enterpriseを使用しています。

修正:そのための回避策は here です。

0
user3613932