2

問題があります。仕事でVS 2012にアップグレードしています。VS 2010 プロジェクトを開くと、Visual Studio によってプロジェクトが変換されます。VS 2010 は引き続きプロジェクトを使用できるため、これで問題ありません (yay microsoft)。ただし、ソリューション ディレクトリに作成された \Backup フォルダーがあります。これは移行の一環として作成されますか? それを制御する方法はありますか?

私が尋ねる理由は、このフォルダーを作成するプロセスが web.config ファイルをフォルダーにコピーするためです。その後、ソリューション (これらは MVC プロジェクトです) をビルドしようとすると、" It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS." エラーが発生します。原因は、ルート フォルダーではなくサブフォルダーに web.config ファイルがあることです。私たちはこの変更を行っておらず、望んでいません。また、それを制御する方法もわかりません。Backup\Web.config ファイルを削除すると、エラーが修正されます。名前を web.config から web.config.bak に変更すると、問題が解決します。

私は、すべてのプロジェクトを個人的に開いて変換する必要はありませんし、ランダムな人々がこの問題に遭遇したくありません. VS がバックアップ フォルダーを作成するのを止める方法、またはドキュメント スタジオ フォルダーなどに作成する方法はありますか? これを制御する設定が見つからず、適切な情報が見つかりません。

4

2 に答える 2

1

ビルド時に MvcBuildViews プロパティを使用してビューをプリコンパイルしていませんか? もしそうなら、これがあなたがこれに遭遇している理由です (同じディレクトリでプリコンパイルを行うため、プロジェクトディレクトリの下のファイルは除外されません)。

このプロジェクトに発行機能を使用する場合にも、この問題が発生することに注意してください。Publish は、web.config 変換を適用する前後に、中間ビルド出力ディレクトリ (デフォルトでは obj/) の下に web.config をコピーします。

幸いなことに、VS2012、または最新の Azure SDK がインストールされた VS2010 では、Web アプリケーション プロジェクト (MVC を含む) に対してプリコンパイルがサポートされるようになりました。これらの設定は、現在、[Web のパッケージ化/発行] タブのプロジェクト プロパティにあります。

(これは、バックアップ フォルダーに関する質問に直接対応するものではありませんが、コメントするには長すぎました。)

于 2012-10-24T18:12:56.170 に答える
0

私が見つけたそれを制御する方法はありません。すべてのプロジェクトを実行して 2012 に変換し、バックアップ フォルダーを削除して、他のチームが実行されないようにする必要がありました。

于 2012-11-29T22:49:45.943 に答える