問題:今日始めたばかりですが、ソリューションの外部にあるすべてのアセンブリへのすべての参照は、The referenced component 'SomeComponent' could not be found.
ビルドしようとしたとき。これは、サードパーティのコンポーネント(すべて15個程度)とすべての.NET Frameworkアセンブリの両方で発生します。基本的には、同じソリューションの別のプロジェクトではないものです。
他のいくつかのソリューションをロードしようとすると、同じ問題が発生しました。ただし、新しいWinFormsプロジェクトの作成は問題なく機能しました。 (それをスクラッチすると、VSを再インストールする前に機能しましたが、現在は機能していません。新しいWinFormsアプリとWPFアプリを作成しましたが、デザイナーもアセンブリを読み込めません。3.5と2.0をターゲットにして、幸運。)
私が試したこと:
誰かがこれについて何か経験があり、これを再び機能させる方法を知っていますか?私の最強のグーグルフーが失敗したので、私はここで尋ねます。要求があれば、コミュニティWikiにマークを付けることができます。
更新:Vistaの修復オプションが表示されなかったため、Windowsを(同じバージョンに)アップグレードしようとしましたが、それでも問題は解決しません。関連していると思われるすべてのものを再インストールしました。これまでのところ、明日の前のいつか解決策が出ない限り、私はバックアップして再フォーマットしなければならないだけのように見えます。
Update2:データをバックアップして再フォーマットしただけなので、まだ試していないアイデアを確認できなくなったので、賞金をそのまま有効期限が切れてトップ投票の回答に残し、後でこの問題が発生する可能性のある他の人への参照。
次のデバッグ手順の提案:プロジェクトデザイナー:参照->参照パスを確認して、システムおよびサードパーティコンポーネントへのパスが正しく表示されることを確認します。 (ドライブ文字のように古いMark I Eyeballをすり抜ける可能性があるものに注意してください。)
私も同じ問題を抱えていました。 NuGetに問題があることがわかりました。 *.csproj
- File(テキストエディターで開いた)の次の部分を削除しました。これは私のために問題を解決しました:
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.Microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
私の場合、解決策は完全に異なりました。 NuGetのパスに問題があるように見えました(プロジェクトを別のソリューションに移動してから、再び戻したためです)。
.csprojを編集して、NuGetおよび関連パッケージへの参照をすべて削除しました。また、ソリューションフォルダーからパッケージフォルダーを削除しました。
その後、システムコンポーネントが魔法のように再現されました。
私にもこのような問題が発生したのはそれほど昔のことではありません。
この問題は、ブランチからブランチにジャンプするときにgitが.exeを適切に作成しないことが原因であることがわかりました(パスにnuget.exeがあり、ブランチをジャンプするときに削除/追加されていました)。 nugetを実行しようとすると、Windowsはexeに適合します。
ブランチを何度もリセットした後、私は最終的にexeを適切に実行しました。次に、リポジトリ内のすべてのディレクトリのセキュリティがリセットされていることに気付いたので、それに対処する必要がありました。
その後、ビジュアルスタジオでニースの演奏が始まりました。
これが誰かを助けることを願っています!
Fuslogvwを使用してアセンブリの負荷ログを確認してから、VSを実行してみてください。ランタイムがアセンブリを見つけてロードしようとしたときに、ランタイムによってキャプチャされた追加のエラーを確認できます。
Vistaでは、管理者としてfuslogvwを実行し、ログを保存するために明示的なパスを指定する必要がある場合があります。
別のインスタンスからアタッチするか、.NET SDKに含まれている基本的なデバッガーを使用してVisual Studioをデバッグすることもできます。
これは古い質問であることは承知していますが、最新バージョンのVisual Studio(2015)でも引き続き発生しています。私はそれを別の方法で修正しました。それは、質問があったときに利用できなかった可能性があるためです。基本的に、それはVSが.Net Libraryパッケージを見つけることができないという事実に関連しています。最新バージョンのVisual Studio(2015)で修正するには:
これが誰かに役立つことを願っています!
まあ、VS 2012 RCでエラーをクリックしてデバッグすると、エラーは消えます...
私はそれを言うのが嫌いですが、システムはかなり行き詰まっているようです。現在のインストールの修正を続行するよりも、OSを再インストールするほうが速い場合があるはずです。
あなたがこれを正しい精神で受け取れるように願っています...すみません。
ILDASMを使用して出力をチェックし、参照が正しく表示されていることを確認します。それらを正常に機能するアセンブリと比較し、何かが飛び出していないか確認します。
ここで暗闇の中で撮影しましたが、同じ(同様の)問題に遭遇しました。私が遭遇した問題は、64ビットマシンがあり、64ビットと32ビットのサードパーティdllが混在するプロジェクトを実行していることに関連しています。解決策は、正しいビット(32v64)であることを確認し、プロジェクトを32ビットモードでビルドすることでした:プロジェクトのプロパティ>ビルド>プラットフォームターゲット:x86。
別のときにこれが発生したとき、私はすべての64ビットDLLを削除し、32ビットDLLで再インストールする必要がありました
HTH
また、同じソリューションの他のプロジェクトの参照に関する問題である可能性もあります。 1つのプロジェクトをビルドしたいだけでしたが、別のプロジェクトでの参照に関するこのメッセージが表示されました。他のプロジェクトの問題は正しかったが、メッセージは正しくなかったと思います。