40

TFS 2008 から TFS 2012 にアップグレードしています。アプリケーションの大部分は .net 3.5 アプリケーションです。
TFS 2012 環境をセットアップし、移行プロセスを実施しました。.net 3.5 アプリケーションをビルドしようとすると、次のエラーが発生します。

csc error cs0006 metadata file could not be found........

.net 3.5 アプリケーションを .net 4.x にアップグレードし、ビルドを再度実行すると、問題なく動作します。

この移行中にすべてのアプリケーションをアップグレードすることはできません。3.5 をサポートするための移行またはビルド ボックスで不足している可能性のあるものはありますか?

ビルド サーバーに VS 2008、2010、2012 がインストールされています。.net フレームワークなどをインストールしています。

どんな支援も役に立ちます。

4

11 に答える 11

16

プロジェクトの依存関係とプロジェクトのビルド順序は、ソリューション エクスプローラーでプロジェクトを右クリックし、[プロジェクトの依存関係] を選択することで、Visual Studio 2012 で指定できます。このアクションを実行すると、ソリューション ファイルが修正されます。私の場合、ソリューション ファイルを手動で編集することなく、この問題を修正できました。

于 2014-06-12T03:06:06.270 に答える
6

これは、Visual Studio ソリューション ファイルにプロジェクトの依存関係が含まれていないことが原因のようです。プロジェクト GUID を使用して依存関係を設定するには、ソリューション ファイルを手動で編集する必要があることがわかりました。

たとえば、ソリューション ファイルには次のようなものがあります。

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
EndProject

依存関係が指定されていないことに注意してください。指定された追加の GUID が、ProjectA が依存するプロジェクトの GUID である場合、このようにする必要がありました。

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectA", "ProjectA\ProjectA.csproj", "{61C9C7C3-B5B4-4C00-8AE0-B49D21B3D77C}"
    ProjectSection(ProjectDependencies) = postProject
        {EB576061-5081-4ED5-9146-1B20C893E51E} = {EB576061-5081-4ED5-9146-1B20C893E51E}
        {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40} = {A469F4BA-8BAA-4F14-BFC8-4D49F93C3E40}
        {03FAB21D-C077-499B-9B19-67971791D369} = {03FAB21D-C077-499B-9B19-67971791D369}
        {F5E0C7B8-36AD-46B0-A74D-9C48516E208A} = {F5E0C7B8-36AD-46B0-A74D-9C48516E208A}
    EndProjectSection
EndProject

詳細については、この投稿を参照してください。

于 2013-07-04T16:53:17.463 に答える
2

同様の問題がありました。私の場合、2ステップで解決できました。まず、Clean Solution オプションを使用してソリューションをクリーンアップしました。その後、ソリューションがクリーンアップされた後、古いバージョンの Microsoft.Aspnet.Mvc ライブラリがインストールされていることがデバッガーによって検出されました。そのため、以下の行を使用して、ライブラリ コンソールから新しいものをインストールしました。

于 2016-09-18T16:48:19.230 に答える