.Net 4.0 Web アプリケーションのプロジェクト ファイルを Visual Studio 2012 で動作するように自動的にアップグレードした後、最初はすべて問題なく動作しましたが、コンパイル時に次のような多くのエラーが発生しました。
説明 : ソース ファイル '..\..\..\..\..\File Path' が見つかりませんでした
ファイル: CSC
また、「VS2012 の開発者コマンド プロンプト」で MSBuild を使用してビルドしようとすると (追加のパラメーターなしでプロジェクトのフル パスのみを渡す)、基本的に同じエラーが発生しました。
「CSC: エラー CS2001: ソース ファイル 'x' が見つかりませんでした」
すべてのエラーは、コード ブランチの別の深さにある他の Web アプリケーション プロジェクトにあるリンクされたファイル(aspx、cs など) を参照しています (そのため、パスの先頭にあるすべての '....\' があります)。
私には、ファイル Length に問題があるように見えます。少し前に、MSBuild を使用して CI サーバーでプロジェクトをビルドするときに同じ問題が発生しました。プロジェクト ファイルを操作してから、カスタム スクリプトを使用せずにビルドすることで管理できました。ブランチを移動したり、プロジェクトの深さを減らしたりする必要がありましたが、何も移動する必要はありませんでした。当時重要だったのは、Visual Studio 2010 を使用している開発者が問題なくすべてをコンパイルできることでした。これにより、MSBuild でのコンパイル/ビルドは DevEnv/VS とは異なり、たとえば、MSBuild は Setup プロジェクトのビルドをサポートしていませんが、DevEnv はサポートしていたことを知りました。
これは現在 VS 2012/DevEnv 2012 で発生しているため、さらに VS 2012 はセットアップ プロジェクト (msbuild など) をサポートしていないため、さらに VS/DevEnv にはファイル長に関する同じ問題があり、VS 2012 は最終的に msbuild を使用しているように見えます内部で、またはより緊密に統合されていますが、これを確認する記事は見つかりませんでした。
ブランチ構造の変更/プロジェクトの深さの変更は、いくつかの理由 (大規模なコード ベース、多数のプロジェクト、リスク、タイミング、労力など) により、現時点ではオプションではありません。
Visual Studio 2012 でこの問題の代替ソリューションまたは修正プログラムを誰かが持っていますか?
よろしく、
PD: ところで、リンクされたファイルでこのポスト MSBuild エラーを既に確認しましたが、パスを変更する前に言ったように、現在はオプションではありません。