BasicTestProjectという.Net4.0プロジェクトがあり、 DefaultというWebフォームが含まれています。
Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="BasicTestProject.Default" %>
Default.aspx.cs:
namespace BasicTestProject
{
public partial class Default : System.Web.UI.Page
{
...
}
}
このアプリケーションのコンパイル済みバージョンをWebサイトのサブフォルダーに配置したいと思います。
- ウェブサイトのルート
- サブフォルダ
- BasicTestProject
- サブフォルダ
Webサイトのルートには、基本的なweb.configがあります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation targetFramework="4.0" />
</system.web>
</configuration>
上記の例のテストを行い、サブフォルダー( http://WebsiteRoot/SubFolder/BasicTestProject/Default.aspx )内のサイトにアクセスしようとすると、次のエラーが発生します。
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'BasicTestProject.Default'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="BasicTestProject.Default" %>
Line 2:
Line 3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Source File: /*WebsiteRoot*/*SubFolder*/BasicTestProject/default.aspx Line: 1
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
また、コンパイルしたBasicTestProjectを独自のIPアドレスに配置して、ルートフォルダーに配置しようとしたことにも言及しておく必要があります。これは期待どおりに機能し、Default.aspxにアクセスできます。
更新(回答):
IIS7では、BasicTestProjectを右クリックして、アプリケーションに変換しました。
- ウェブサイトのルート
- サブフォルダ
- BasicTestProject
- サブフォルダ
また、BasicTestProjectフォルダーへのアプリケーションプールユーザー権限を付与する必要がありました。これで、自己完結型で実行されます。