IIS7のASPNET_COMPILERのIISメタベースパス
-
28-10-2019 - |
質問
コマンドラインを介してASPNET_COMPILERを使用して、IIS7デフォルトのWebサイトで実行されているWebアプリケーションを構築および公開しようとしています。私は、IISメタベースパスを指定するための-m引数の正しい構文を見つけることに苦労しています。
すべてのドキュメントは、「LM/W3SVC/1/root」という形式のIIS6 Metabaseパスを指します。私は遭遇しました この情報, 、これは、IIS7 Metabaseパスが「Machine/Webroot/Apphost/Default Webサイト」のように見える必要があることを示しています。
実際のコマンドは次のようになります:
aspnet_compiler -nologo -m "MACHINE/WEBROOT/APPHOST/Default Web Site/" \\productionwebserver\inetpub\websitefolder\
ただし、これにより、次のエラーが発生します。 エラー1002: 'Machine/webroot/apphost/default webサイト/'は、適切に形成されたIISメタベースパスではありません。
私のデフォルトのWebサイトは「デフォルトのWebサイト」と呼ばれます。また、メタベースパスの代わりに仮想パスと物理パスを指定する構文の使用も検討しました。
aspnet_compiler -nologo -v / -p ".."
(このコマンドファイルは、Webサイトプロジェクトフォルダーのサブフォルダーに存在します)
これにより、次のエラーが発生します。 エラーASPCONFIG:AllowDefinition = 'MachineToApplication'として登録されたセクションをアプリケーションレベルを超えて使用することはエラーです。このエラーは、IISのアプリケーションとして構成されていない仮想ディレクトリが原因である可能性があります。
Webサイトは、VS2010内から問題なく構築されています。
解決
同じパスを使用しますが、IIS 7にインストールされているIIS 6 Metabase互換性コンポーネントがあることを確認してください。
http://learn.iis.net/page.aspx/125/metabase-compatibility-with-iis-7/
他のヒント
LM/W3SVC/1/rootのように、6.0と同じパスを使用しようとしましたか?