13

VS 2010 で最大 35 のプロジェクトを含む大規模なソリューションを開発しましたが、現在、VS 2012 Ultimate への移行を検討しています。ソリューション ファイルを VS 2012 に変換しましたが、通常はすべて正常に動作します。

しかし、ソリューションを開くたびに、ソリューション内の特定のプロジェクト A でいくつかの警告が表示されます。ソリューションをビルドすると、それぞれの DLL のメタデータが見つからないというエラーが表示されます。

ソリューション エクスプローラーで参照を見ると、黄色の警告記号が付いています。参照をクリックするだけで、警告が消え、アイコンが正常に表示されます。その後、エラーなしでビルドできます!

ソリューションを開くたびに問題が発生し、影響を受けるプロジェクトは常に同じです。

他の誰かがこの奇妙な動作を経験しましたか? プロジェクト参照を削除して再度追加しても解決しませんでした...

前もって感謝します。

編集:参照元プロジェクトの csproj ファイルを確認しましたが、上記の問題があるすべてのプロジェクト参照 GUID は小文字で書かれ、他のプロジェクトは大文字で書かれているのではないかと思います。

<ProjectReference Include="..\Presentation.Net\Presentation.Net.csproj">
  <Project>{04004c6b-76c8-4f2d-9fcf-5a866bb80fd4}</Project>
  <Name>CMS.Presentation.Net</Name>
</ProjectReference>

ソリューション内では、GUID は大文字です。

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Presentation.Net", "Presentation.Net\Presentation.Net.csproj", "{04004C6B-76C8-4F2D-9FCF-5A866BB80FD4}"

何か案は?

4

4 に答える 4

3

VS 2012 では、一部の古いプロジェクト タイプのサポートが廃止されました。VS 2010 プロジェクト タイプのすべてが VS 2012 でサポートされているわけではありません。たとえば、MSI セットアップ プロジェクト タイプは、InstallShield LE プロジェクト タイプに置き換えられました。 こちらの互換性リストを確認し、失敗したプロジェクト タイプに問題があるかどうかを確認してください。

于 2013-02-26T14:28:14.297 に答える
3

これは私を正しい方向に向けました。 Visual Studio 2012 ランダムに報告: 「参照されたコンポーネント X が見つかりませんでした」

少なくとも警告は消えます。メタデータ エラーが再び発生するかどうかを確認する必要があります。

于 2013-03-05T10:11:27.123 に答える
1

この問題に遭遇したのは、プロジェクト間で .NET のバージョンが異なることが原因でした。参照しようとしているプロジェクトに、現在のプロジェクトと互換性のある .NET バージョンがあることを確認する必要があります。

たとえば、ターゲット プロジェクトが .NET 4.5.2 で、参照するプロジェクトが 4.6 である場合、参照されるプロジェクトが現在のプロジェクトがアクセスできないコンポーネントを使用しているため、このエラーが発生する可能性があります。

これを解決するには、ターゲット プロジェクトのプロパティに移動し、互換性のある正しいバージョンの .NET を選択します。ソリューション内のすべてのプロジェクトで、特に相互に参照している場合は、それぞれに同じ .NET バージョンを維持しています。

于 2016-06-03T02:14:53.097 に答える
0

プロジェクト/ソリューションをクリーンアップしてからビルドしてみてください。

于 2015-08-28T20:05:04.430 に答える