none
WEBアプリケーションをサブフォルダの下に置きたい RRS feed

  • 質問

  • Visual Studio 2015で作成したMVC4アプリケーションを「公開」でAzureにFTPでアップロードしました。

    /site/wwwroot/の下に直接アップロードすると正しく実行できます。

    /site/wwwroot/xxxfolder/の下にアップロードして実行させると、下記のエラーになり、実行できません。xxxFolderはPublish WebダイアログのSite Pathで指定しています。何がまずいのでしょうか。

    Server Error in '/' Application.

    Configuration Error

    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 

    Parser Error Message: 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.

    Source Error: 

    An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

    An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

    Source File: D:\home\site\wwwroot\updatedealer1\web.config    Line: 28 

    上記web.configの28行目には「<authentication mode="Forms">」の行があります。

    なにか設定する必要があるのでしょうか。

    2016年1月14日 7:29

回答

  • Azure には触ったこともない自分がレスするのもなんですが・・・

    エラーメッセージの、"This error can be caused by a virtual directory not being configured as an application in IIS." というのは Azure でない普通の IIS + ASP.NET の話としても時々目にしますが、原因は当該ディレクトリがアプリケーションに設定されてないからだと思います。

    > /site/wwwroot/の下に直接アップロードすると正しく実行できます。

    それが何故ダメで、

    > /site/wwwroot/xxxfolder/の下にアップロードして実行させると、

    ということがしたいのか分かりません。一つの Web サイト下に一つまたは複数のアプリケーションを配置したいということなんでしょうか?

    であれば、以下の記事のような方法があるそうです。

    Deploying multiple virtual directories to a single Azure Website
    http://blogs.msdn.com/b/tomholl/archive/2014/09/22/deploying-multiple-virtual-directories-to-a-single-azure-website.aspx

    上にも書きましたが、Azure には触ったこともなく、全くの未検証ですのでハズレだったらすみません。



    • 編集済み SurferOnWww 2016年1月14日 9:41 一部訂正
    • 回答としてマーク 少菅閑事 2016年1月14日 21:28
    2016年1月14日 9:38
  • Azure ポータルにある Web Apps の設定画面から、作成したディレクトリをアプリケーションとして使う設定を追加すると良いと思います。

    以下のページにある仮想アプリケーションとディレクトリというのが、その設定項目になります。

    https://azure.microsoft.com/ja-jp/documentation/articles/web-sites-configure/

    名前とパスを入力し「アプリケーション」にチェックを入れるだけになります。

    デプロイ含めた方法は、以下のブログ記事がそのまま参考になるかと思います。

    http://blog.xin9le.net/entry/2014/03/29/232215

    • 回答としてマーク 少菅閑事 2016年1月14日 21:28
    2016年1月14日 9:56

すべての返信

  • Azure には触ったこともない自分がレスするのもなんですが・・・

    エラーメッセージの、"This error can be caused by a virtual directory not being configured as an application in IIS." というのは Azure でない普通の IIS + ASP.NET の話としても時々目にしますが、原因は当該ディレクトリがアプリケーションに設定されてないからだと思います。

    > /site/wwwroot/の下に直接アップロードすると正しく実行できます。

    それが何故ダメで、

    > /site/wwwroot/xxxfolder/の下にアップロードして実行させると、

    ということがしたいのか分かりません。一つの Web サイト下に一つまたは複数のアプリケーションを配置したいということなんでしょうか?

    であれば、以下の記事のような方法があるそうです。

    Deploying multiple virtual directories to a single Azure Website
    http://blogs.msdn.com/b/tomholl/archive/2014/09/22/deploying-multiple-virtual-directories-to-a-single-azure-website.aspx

    上にも書きましたが、Azure には触ったこともなく、全くの未検証ですのでハズレだったらすみません。



    • 編集済み SurferOnWww 2016年1月14日 9:41 一部訂正
    • 回答としてマーク 少菅閑事 2016年1月14日 21:28
    2016年1月14日 9:38
  • Azure ポータルにある Web Apps の設定画面から、作成したディレクトリをアプリケーションとして使う設定を追加すると良いと思います。

    以下のページにある仮想アプリケーションとディレクトリというのが、その設定項目になります。

    https://azure.microsoft.com/ja-jp/documentation/articles/web-sites-configure/

    名前とパスを入力し「アプリケーション」にチェックを入れるだけになります。

    デプロイ含めた方法は、以下のブログ記事がそのまま参考になるかと思います。

    http://blog.xin9le.net/entry/2014/03/29/232215

    • 回答としてマーク 少菅閑事 2016年1月14日 21:28
    2016年1月14日 9:56
  • ご教示ありがとうございます。こちらにまとめてレスします。

    お示しいただいた記事を拝見しました。自分が仮想ディレクトリをよく理解しておらず、単にフォルダを追加しただけではだめなことが判りました。ありがとうございました。

    2016年1月14日 21:34