WCFサービスへの参照を含むWebApplicationがあります。
Visual Studio 2010を使用してビルドしているときに、ビルドがエラーまたは警告なしで失敗します。ただし、MsBuild
を使用して.csproj
を構築することは成功します。
問題を解決/診断するために、Visual Studioで何を試すべきかわかりません。手伝ってもらえますか?
編集:
ビルドが失敗していることがわかりました。
ステータスバーに表示されるテキストから。
出力ウィンドウから:
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
私はちょうど同じような状況に遭遇しました。私の場合、csprojファイルのBeforeBuildターゲットに表示されるカスタムアクション(Nuget.orgで利用可能なMSBuildVersioningパッケージから http://www.nuget.org/packages/MSBuildVersioning/ )が失敗していました通常の場所でエラーメッセージが表示されることはありません。
以下に示すように、MSBuildプロジェクトのビルド出力の詳細度(Visual Studioの[オプション]/[プロジェクトとソリューション]/[ビルドと実行]設定領域)を[診断]に設定することで、これを判断できました。これにより、カスタムアクション(私の場合はHgVersionFile)が失敗したことがわかりました。
VS(2013 Pro、Win 8.1)の再起動は私のためにそれをしました。
Sasseの答え に拡張したい。
Visual Studio 2015 Update 2の問題を修正するには、各プロジェクトを一度に1つずつビルドし、各ビルド後に出力ウィンドウを確認する必要がありました。
あるプロジェクトが私に与えてくれた
「型または名前空間名「SomeNamespace」は、名前空間「BeforeSomeNamespace」に存在しません(アセンブリ参照がありませんか?)」.
[エラーリスト]ウィンドウにエラーはありませんでしたが、アセンブリの[参照]の下に黄色の警告サインがありました。
次に、参照プロジェクトが4.5.1と参照プロジェクト4.6.1をターゲットにしていることを確認しました。 4.6.1を4.5.1に変更すると、ビルド全体が成功しました。
何も機能していなかったため、.suoファイルを削除し、VSを再起動し、投影をクリーンアップしました。その後、ビルドが機能しました。
この質問には複数の答えがあるように思えるので、個人的な経験から私が追加して、誰かの時間/ストレスを節約することを望みます。
ソリューションのすべてのプロジェクトが同じ.NETバージョンをターゲットにしていることを確認してください。
OPと同様に、エラーはありませんでしたが、ビルドは失敗し続けました。ただし、1つのプロジェクトがそれを参照しているプロジェクトとは異なる.NETバージョンをターゲットにしていることを示す警告エントリが1つ(数百の無駄なXML警告の間に埋め込まれています...)ありました。全体の問題は、ソリューション内の1つのプロジェクトが.NET 4.5.2をターゲットとしていたのに対し、残りのプロジェクトは4.5.1をターゲットとしていたことでした。 はずこの不一致でも動作します(そのため、それは単なる警告である理由です)が、残念ながら、ビルドを壊しました。
奇妙な部分は、しばらくの間ビルド/正常に実行されたことでしたが、突然、ビルドが1回失敗してこの問題が発生しました。異なる.NETターゲットバージョンについて不平を言うために何をしたのかはわかりませんが、Visual Studioには解決できない謎がいくつかあると感じています。
これと同じ問題が発生し、この問題をエラーリストオプション "Build + Intellisense"までたどりました。
このオプションを選択すると、リストにエラーは表示されません。 「Build Only」に切り替えると、期待どおりにエラーが表示されます。
Visual Studioのバグのように見えます。 Visual Studioを再起動するとこの問題は解決しました。
最初に「ソリューションをクリーンアップ」し、次にソリューションを再構築します。
動作しない場合は、ソリューションを閉じて、ソリューションを再起動します。
これらを試してみてください。
これは、参照されているプロジェクトの1つが現在のプロジェクトよりも.NETフレームワークの上位バージョンである場合に発生する可能性があります。
他の可能性としては、Visual Studioを管理者として実行する必要があるということです。これは、ローカルIISサーバーへの展開またはその他の展開の必要性に関連する可能性があります。
ソリューションに新しいプロジェクト(「TestCleaner」と呼ばれる)を追加した後、同様の問題が発生しました:ビルドに失敗しました。エラーはありません。
出力の冗長性を高め(Richard J Fosterの指示を参照)、「失敗」の出力を検索しました。失敗したプロジェクトとその理由をすぐに発見しました。プロジェクト「TestRunner」が失敗し、「error CS0246:型または名前空間名「TestCleaner」が見つかりませんでした」(コードで問題が強調表示されていない場合でも)。
TestRunnerの参照を確認し、TestCleanerへの参照が未解決としてマークされ、参照プロパティからパスが欠落していることを確認します。削除して再度追加しても修正されませんでした。繰り返しますが、理由はありません。
私はついに原因を発見しました。「TestCleaner」は他のプロジェクトとは異なるターゲットフレームワークを使用していました。 .Net 4.5.2でした。他は4.5でした。
同じ問題がありました。エラーリストウィンドウには、[含まれるアイテムを表示]と[生成された問題を表示]の2つのドロップダウンがあります。これらの名前は、ドロップダウンにカーソルを合わせた後に表示されます。 「生成された問題を表示」ドロップダウンは「ビルド+ IntelliSense」に設定され、「ビルドのみ」に変更した後、リストにエラーが表示されました。
出力ウィンドウに移動し、出力ウィンドウTADAで「エラー」を検索します
解決したのは、ソリューションのルートから.vs
フォルダーを削除し、Visual Studioを再起動することでした。
また、エラーが[エラーリスト]ペインに表示されていなくても、ビルドからの出力にはまだ存在していると言うことが重要かもしれません。
Powershellコマンドラインからプロジェクトをビルドしてみてください。
dotnet build
その後、Visual Studioがビルドエラーメッセージで非表示とシークを再生している場合でも、コマンドライン出力でエラーを確認できます。
この症状を再現する別の方法:
既存のソリューションに新しいプロジェクトを追加し、ビルド出力で「型または名前空間名Xが見つかりませんでした...」などのエラーが報告されましたが、エラーリストにエラーは表示されませんでした。
私が言及したクラスは、同じソリューションの他のプロジェクト(参照された)にありました。
誤って、新しいプロジェクトで以前のバージョンの.netを選択していたことが判明しました。他のプロジェクトと同じバージョンに変更すると、すべてがエラーなくビルドされました。
すべてが機能しなかったため、ソリューション(.sln)としてプロジェクトを開くとエラーが表示されず、プロジェクトとしてプロジェクトを開くとエラーが表示されることがわかりました。
Nugetパッケージ「Microsoft.Net.Compilers」がインストールされている場合は、Visual Studioのバージョン(ビルドツールバージョン)に合っていることを確認してください。
バージョン1.xは、C#6.0(Visual Studio 2015およびアップデート)を意味します。たとえば、1.3.2
VS2015を使用している場合は、1.xより上のバージョンにアップグレードしないでください。
いくつかのフォームを削除した後、同じ問題が発生しました。コードにアクセスすると、エラーがポップアップ表示され、削除したコントロールの1つに対して「定義の表示」を実行しました。
また、プロジェクトの1つでより高いフレームワークをターゲットにしていたので、それも問題だったかもしれません。
Visual Studioを再起動するとうまくいきました。また、Visual Studioを通常どおり再起動してみてください(管理者として実行しないでください)。システムを再起動して、上記の手順を繰り返してください。
それは当然の違いかもしれませんreportviewer versionあなたのプロジェクトとVS
これは、asp.netプロジェクトに新しいページを追加した後に起こりました。
私がしたことは、ページを除外し、正常に再構築できるようにすることでした。
次に、すべてのコードをコメントアウトしてページを追加しました。成功。
その後、コードのコメントを少しずつ外し、すべて正常に機能しました。
古いマシンで本当に古いプロジェクトがありました。マシンをオフにしたときにプロジェクトが正しくビルドされていました。今日、ビルドエラーが表示されますが、エラーメッセージは表示されません。上からいくつかの提案を試みた後、運はありません。
Visual Studio 2015では、TOOLS> Options> Projects and Solutions> Build and RunでDetailed MSBuildをオンにしました
ビルドに関する詳細はほとんどありませんでしたが、エラーはありませんでした。その後、拡張機能と更新プログラム([ツール]> [拡張機能と更新プログラム])を確認しようとしましたが、更新が必要なものはほとんどありませんでした。
Nugetパッケージは、Nugetの更新後、犯人でした-ビルドは成功しました。
私は同じ問題に直面しました! binフォルダーを削除して、VS
を再起動するだけです。それで全部です。 VS 2013
でテスト済み。