web-dev-qa-db-ja.com

エラーや警告なしで失敗したビルドの理由を見つける方法

WCFサービスへの参照を含むWebApplicationがあります。

Visual Studio 2010を使用してビルドしているときに、ビルドがエラーまたは警告なしで失敗します。ただし、MsBuildを使用して.csprojを構築することは成功します。

問題を解決/診断するために、Visual Studioで何を試すべきかわかりません。手伝ってもらえますか?

編集:

ビルドが失敗していることがわかりました。

  1. ステータスバーに表示されるテキストから。
    enter image description here

  2. 出力ウィンドウから:

    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
    
113
Abhijeet

私はちょうど同じような状況に遭遇しました。私の場合、csprojファイルのBeforeBuildターゲットに表示されるカスタムアクション(Nuget.orgで利用可能なMSBuildVersioningパッケージから http://www.nuget.org/packages/MSBuildVersioning/ )が失敗していました通常の場所でエラーメッセージが表示されることはありません。

以下に示すように、MSBuildプロジェクトのビルド出力の詳細度(Visual Studioの[オプション]/[プロジェクトとソリューション]/[ビルドと実行]設定領域)を[診断]に設定することで、これを判断できました。これにより、カスタムアクション(私の場合はHgVersionFile)が失敗したことがわかりました。

Screen capture from Visual Studio showing the modified setting.

87

Build + Intellisenseはエラーメッセージを飲み込みました。 Build Onlyを選択すると、それらが表示されました。

Screenshot

80
Abu Abdullah
  • ソリューションに複数のプロジェクトが含まれる場合は、一度に1つずつビルドしてみてください。
  • Visual Studioを再起動してください。
  • コンピューターを再起動してください。
  • すべて再構築」を試してください
  • Clean Solution」を試してから「vspscc」ファイルと「vssscc」ファイルを削除し、Visual Studioを再起動してから「すべて再構築 "。
55
Sasse

VS(2013 Pro、Win 8.1)の再起動は私のためにそれをしました。

19
Ignas Vyšnia

Sasseの答え に拡張したい。

Visual Studio 2015 Update 2の問題を修正するには、各プロジェクトを一度に1つずつビルドし、各ビルド後に出力ウィンドウを確認する必要がありました。

あるプロジェクトが私に与えてくれた

「型または名前空間名「SomeNamespace」は、名前空間「BeforeSomeNamespace」に存在しません(アセンブリ参照がありませんか?)」.

[エラーリスト]ウィンドウにエラーはありませんでしたが、アセンブリの[参照]の下に黄色の警告サインがありました。

次に、参照プロジェクトが4.5.1と参照プロジェクト4.6.1をターゲットにしていることを確認しました。 4.6.1を4.5.1に変更すると、ビルド全体が成功しました。

9
user764754

.vsフォルダを削除してVSを再起動してください、私のために働いた

 enter image description here 

6
Arun Prasad E S

何も機能していなかったため、.suoファイルを削除し、VSを再起動し、投影をクリーンアップしました。その後、ビルドが機能しました。

5
Andy

この質問には複数の答えがあるように思えるので、個人的な経験から私が追加して、誰かの時間/ストレスを節約することを望みます。

ソリューションのすべてのプロジェクトが同じ.NETバージョンをターゲットにしていることを確認してください。

OPと同様に、エラーはありませんでしたが、ビルドは失敗し続けました。ただし、1つのプロジェクトがそれを参照しているプロジェクトとは異なる.NETバージョンをターゲットにしていることを示す警告エントリが1つ(数百の無駄なXML警告の間に埋め込まれています...)ありました。全体の問題は、ソリューション内の1つのプロジェクトが.NET 4.5.2をターゲットとしていたのに対し、残りのプロジェクトは4.5.1をターゲットとしていたことでした。 はずこの不一致でも動作します(そのため、それは単なる警告である理由です)が、残念ながら、ビルドを壊しました。

奇妙な部分は、しばらくの間ビルド/正常に実行されたことでしたが、突然、ビルドが1回失敗してこの問題が発生しました。異なる.NETターゲットバージョンについて不平を言うために何をしたのかはわかりませんが、Visual Studioには解決できない謎がいくつかあると感じています。

4
Alan Thomas

これと同じ問題が発生し、この問題をエラーリストオプション "Build + Intellisense"までたどりました。

このオプションを選択すると、リストにエラーは表示されません。 「Build Only」に切り替えると、期待どおりにエラーが表示されます。

Visual Studioのバグのように見えます。 Visual Studioを再起動するとこの問題は解決しました

3

最初に「ソリューションをクリーンアップ」し、次にソリューションを再構築します。

動作しない場合は、ソリューションを閉じて、ソリューションを再起動します。

これらを試してみてください。

3
Santosh K

これは、参照されているプロジェクトの1つが現在のプロジェクトよりも.NETフレームワークの上位バージョンである場合に発生する可能性があります。

3
mcmillab

他の可能性としては、Visual Studioを管理者として実行する必要があるということです。これは、ローカルIISサーバーへの展開またはその他の展開の必要性に関連する可能性があります。

3
Bill Yang

ソリューションに新しいプロジェクト(「TestCleaner」と呼ばれる)を追加した後、同様の問題が発生しました:ビルドに失敗しました。エラーはありません。

出力の冗長性を高め(Richard J Fosterの指示を参照)、「失敗」の出力を検索しました。失敗したプロジェクトとその理由をすぐに発見しました。プロジェクト「TestRunner」が失敗し、「error CS0246:型または名前空間名「TestCleaner」が見つかりませんでした」(コードで問題が強調表示されていない場合でも)。

TestRunnerの参照を確認し、TestCleanerへの参照が未解決としてマークされ、参照プロパティからパスが欠落していることを確認します。削除して再度追加しても修正されませんでした。繰り返しますが、理由はありません。

未解決の参照

私はついに原因を発見しました。「TestCleaner」は他のプロジェクトとは異なるターゲットフレームワークを使用していました。 .Net 4.5.2でした。他は4.5でした。

2
Ben Whitmore

完成のためだけでなく、将来同じエラーに遭遇する人を助けるために、私はMahappsメトロインターフェイスを使用して、1つのウィンドウのXAMLを変更しましたが、コードビハインドの部分クラスを変更するのを忘れていました。その場合、ビルドはエラーまたは警告なしで失敗し、設定からの出力の詳細度を上げることでそれを見つけることができました:

Error pane

output pane

2
mcy

同じ問題がありました。エラーリストウィンドウには、[含まれるアイテムを表示]と[生成された問題を表示]の2つのドロップダウンがあります。これらの名前は、ドロップダウンにカーソルを合わせた後に表示されます。 「生成された問題を表示」ドロップダウンは「ビルド+ IntelliSense」に設定され、「ビルドのみ」に変更した後、リストにエラーが表示されました。

2
Jakub

出力ウィンドウに移動し、出力ウィンドウTADAで「エラー」を検索します

2
Mahdi Khalili

解決したのは、ソリューションのルートから.vsフォルダーを削除し、Visual Studioを再起動することでした。

また、エラーが[エラーリスト]ペインに表示されていなくても、ビルドからの出力にはまだ存在していると言うことが重要かもしれません。

1
Ronald Rey

Powershellコマンドラインからプロジェクトをビルドしてみてください。

dotnet build

その後、Visual Studioがビルドエラーメッセージで非表示とシークを再生している場合でも、コマンドライン出力でエラーを確認できます。

0
user3810867

この症状を再現する別の方法:

既存のソリューションに新しいプロジェクトを追加し、ビルド出力で「型または名前空間名Xが見つかりませんでした...」などのエラーが報告されましたが、エラーリストにエラーは表示されませんでした。

私が言及したクラスは、同じソリューションの他のプロジェクト(参照された)にありました。

誤って、新しいプロジェクトで以前のバージョンの.netを選択していたことが判明しました。他のプロジェクトと同じバージョンに変更すると、すべてがエラーなくビルドされました。

0
Devosaur

同じ問題があり、ツールを変更しました->オプション->プロジェクトとソリューション/ビルドと実行->MSBuildプロジェクトビルドログファイルの詳細度[Diagnostic]。 VSが[エラー]タブに[エラー]を表示していないいくつかの理由により、このオプションはログにエラーを表示します!

enter image description here

上記の設定を行い、notepad/texteditorの出力コピーでエラーを検索します。すべてのエラーが表示されます。

0

すべてが機能しなかったため、ソリューション(.sln)としてプロジェクトを開くとエラーが表示されず、プロジェクトとしてプロジェクトを開くとエラーが表示されることがわかりました。

0
Mosta

Nugetパッケージ「Microsoft.Net.Compilers」がインストールされている場合は、Visual Studioのバージョン(ビルドツールバージョン)に合っていることを確認してください。

バージョン1.xは、C#6.0(Visual Studio 2015およびアップデート)を意味します。たとえば、1.3.2

VS2015を使用している場合は、1.xより上のバージョンにアップグレードしないでください。

https://stackoverflow.com/a/44397905/3862615

0
Roman M

いくつかのフォームを削除した後、同じ問題が発生しました。コードにアクセスすると、エラーがポップアップ表示され、削除したコントロールの1つに対して「定義の表示」を実行しました。

また、プロジェクトの1つでより高いフレームワークをターゲットにしていたので、それも問題だったかもしれません。

0
Dennis Kuypers

Visual Studioを再起動するとうまくいきました。また、Visual Studioを通常どおり再起動してみてください(管理者として実行しないでください)。システムを再起動して、上記の手順を繰り返してください。

0

それは当然の違いかもしれませんreportviewer versionあなたのプロジェクトとVS

0
user3706939

これは、asp.netプロジェクトに新しいページを追加した後に起こりました。

私がしたことは、ページを除外し、正常に再構築できるようにすることでした。

次に、すべてのコードをコメントアウトしてページを追加しました。成功。

その後、コードのコメントを少しずつ外し、すべて正常に機能しました。

0
toddmo

古いマシンで本当に古いプロジェクトがありました。マシンをオフにしたときにプロジェクトが正しくビルドされていました。今日、ビルドエラーが表示されますが、エラーメッセージは表示されません。上からいくつかの提案を試みた後、運はありません。

Visual Studio 2015では、TOOLS> Options> Projects and Solutions> Build and RunでDetailed MSBuildをオンにしました

ビルドに関する詳細はほとんどありませんでしたが、エラーはありませんでした。その後、拡張機能と更新プログラム([ツール]> [拡張機能と更新プログラム])を確認しようとしましたが、更新が必要なものはほとんどありませんでした。

Nugetパッケージは、Nugetの更新後、犯人でした-ビルドは成功しました。

enter image description here

0
spicet

私は同じ問題に直面しました! binフォルダーを削除して、VSを再起動するだけです。それで全部です。 VS 2013でテスト済み。

0
John

私はすべてを試しましたが、私の場合は何もうまくいきませんでした。次に、これらの言及された設定を変更して、問題をかなり解決しました。後の視聴者の助けになるなら試してください。これらの設定は状況によって異なる場合がありますが、最初に保持したのと同じ構成設定(画像に記載)を含むすべてのDLLをビルドしてください。 Configuration Settings

Image here.

乾杯!

0
Iqra.