3

私は .NET Web アプリケーションを持っており、その中で 3 つの別個の Web サイトを開発しています。これらの Web サイトはすべていくつかのクラス、マスター ページなどを共有しています (サイトmysite1を 、mysite2、および と呼びますmysite3) 。

VS から「ブラウザで表示」を使用してサイトを表示すると ( http://localhost/projectName/mysite1/default.aspxにつながります)、すべてが期待どおりに機能します。

ただし、http://mysite1/Mysite1を使用し、「mysite1」サブフォルダーをローカル パス (ホーム ディレクトリの下) としてポイントする IIS Web サイトもセットアップします。http://mysite1/にアクセスすると、次の ASP.NET エラーが発生します。

パーサー エラー メッセージ: タイプ 'MyProject.Mysite1.Default' を読み込めませんでした。

ソース エラー:

Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MyProject.Mysite1.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">

「ブラウザで表示」から実行したときにサイトが正しく機能していることからもわかるように、名前空間はすべて有効です。アプリケーションのベースフォルダーが人為的に変更されたことと関係があると思いますが、それが原因で他のいくつかのエラーが発生したためですが、解決方法がわかりません。

Web アプリケーションのサブフォルダーをベース フォルダーとして使用するには、IIS をどのように構成すればよいですか?

4

1 に答える 1

4
  1. IIS に移動します。
  2. Web サイトを右クリックします。
  3. mysite1 という名前の仮想ディレクトリを作成します。
  4. 仮想ディレクトリ mysite1 を右クリックし、[アプリケーションに変換] を選択します。

http://mysite1/これで、内部のページを操作できますmysite1

CodeBehind= コンパイルする必要があり (asp.net 1.1 モデル)、コンパイルされたバイナリは Web サイトの bin フォルダーに配置されます。デプロイする前に、ビジュアル スタジオでコンパイルを行う必要があります。ソース コードをプレーン テキストとして表示したくない場合に適したモデルです。たとえば、コードを提供する義務がない顧客に納品する場合などです。

CodeFile= ソース ファイルに展開用のソリューションを提供します。ASP.NET 2.0 ランタイムは、必要に応じてコードをコンパイルします。コンパイルされたファイルは、Microsfot.NET[.NET バージョン]\Temporary ASP.NET Files にあります。

于 2012-05-08T19:24:30.877 に答える