WebMatrix 1.0 リリースの Readme

2011 年 1 月 13 日

内容

Note

この readme は WebMatrix の 1.0 リリースに適用されます。

概要

Microsoft WebMatrix 1.0 は、数分でインストールできる無料の Web 開発ツールです。 データベースとプログラミングのフレームワークに Web サーバーを組み合わせることによって、単一の統合エクスペリエンスを実現します。 WebMatrix を使用して、独自の ASP.NET または PHP Web サイトをコーディング、テスト、公開する方法を簡素化したり、一般的なオープン ソース アプリケーション (DotNetNuke、Umbraco、WordPress、Joomla など) を使用して新しい Web サイトを作成したりすることができます。 WebMatrix では、インターネット上で Web サイトを実行するのと同じ強力な Web サーバー、データベース エンジン、フレームワークが使用されているため、開発環境から運用環境への円滑かつシームレスな移行が可能です。

インストール

WebMatrix 1.0 をインストールするには、まず Microsoft Web Platform Installer 3.0 をインストールする必要があります。 Web Platform Installer をインストールした後、それを使用して WebMatrix をインストールできます。

インストール中に問題が発生した場合は、「Microsoft Web Platform Installer に関する問題のトラブルシューティング」を参照してください。

アプリケーションの公開方法

アプリケーションの公開のステップ バイ ステップの手順に関する記事を参照してください。

変更点と問題

WebMatrix 1.0 のインストールの問題

問題: Microsoft .NET Framework 4 をサポートするプラットフォームでしか WebMatrix 1.0 を使用できない

WebMatrix には .NET Framework Version 4 が必要です。 場合によっては、WebMatrix 1.0 インストーラを使用すると、サポートされている構成セットに含まれていないプラットフォームへのインストールを開始できることがあります。 特に、SP1 更新プログラムが適用されていない Windows Vista では、WebMatrix のインストールを開始できますが、.NET Framework 4 コンポーネントでエラーが発生し、インストールはブロックされます。

回避策
サポートされているプラットフォームにインストールします。サポート対象のプラットフォームは次のとおりです。

  • Windows 7
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Vista SP1 以降
  • Windows XP SP3
  • Windows Server 2003 SP2

問題: Microsoft Visual Studio 2008 がインストールされ、Microsoft Visual Studio 2008 SP1 が適用されていない場合、WebMatrix 1.0 をインストールできない

回避策
Microsoft ダウンロード センターから Microsoft Visual Studio 2008 Service Pack 1 をインストールします。

問題: SQL Server Compact 4.0 のアセンブリの一部が GAC にインストールされない

SQL Server Compact 4.0 を 64 ビット コンピューターにインストールする際、そのコンピューターに .NET Framework 3.5 SP1 Client Profile しかインストールされていないと、SQL Server Compact 4.0 のマネージド アセンブリがグローバル アセンブリ キャッシュ (GAC) に配置されません。 GAC にインストールされないマネージド アセンブリは次のとおりです。

  • System.Data.SqlServerCe.dll (ADO.NET プロバイダー)
  • System.Data.SqlServerCe.Entity.dll (ADO.NET Entity Framework)

回避策
SQL Server Compact 4.0 をアンインストールします。 次の場所から完全バージョンの .NET Framework 3.5 SP1 をダウンロードしてインストールします。

Microsoft .NET Framework 3.5 Service Pack 1 (フル パッケージ)

その後、SQL Server Compact 4.0 を再インストールします。

問題: コマンド ラインを使用して SQL Server Compact をアンインストールできない

このリリースでは、コマンドライン オプションを使用した SQL Server Compact のアンインストールは機能しません。

回避策
Windows コントロール パネルの [プログラムと機能] を使用して Microsoft SQL Server Compact 4.0 をアンインストールします。

ASP.NET Web ページ

このセクションでは、Razor 構文を使用した ASP.NET Web Pages 1.0 リリースの新機能、変更点、および既知の問題について説明します。

新機能

新機能: パッケージ マネージャーを無効にするための構成設定が追加された

web.config ファイルの <appSettings> 要素に、asp:AdminManagerEnabled キーが追加されました。これにより、パッケージ マネージャーを完全に無効化できます。 この要素の既定値は true です。つまり、これが web.config ファイルに含まれていない場合、パッケージ マネージャーは有効になります。 パッケージ マネージャーを無効にするには、Web サイトのルートにある web.config ファイルに次の要素を追加します。

<configuration>
  <appSettings>
    <add key="asp:AdminManagerEnabled" value="false"/>
  </appSettings>
</configuration>

変更点

変更点: "webPages:AdminFolderVirtualPath" キーの名前が "asp:AdminFolderVirtualPath" に変更された

パッケージ マネージャーの場所を指定するために web.config ファイルに追加できる webPages:AdminFolderVirtualPath キーの名前が変更され、webPages 名前空間の代わりに asp: 名前空間が使用されます。 この要素を使用していた場合は、構成ファイルでその名前を変更する必要があります。

既知の問題

問題: メンバーシップ ユーザーのパスワードが認識されなくなった

セキュリティを強化するため、メンバーシップ (ログイン) パスワードの作成と保存のアルゴリズムが変更されました。 その結果、ASP.NET Razor のベータ版で作成されたメンバー (ユーザー) 用に保存されたパスワードは認識されなくなります。

回避策 まだサイトが運用されていない場合は、メンバーシップ データベースからユーザー レコードを削除します。 データベースが運用中である場合は、メンバーシップ データベース内の既存のパスワードをプログラムで再生成します。

問題: メンバーシップ用のカスタム ユーザー テーブルを使用しているときに予期しない動作が生じる

ASP.NET Razor Web サイトのメンバーシップ プロバイダーを初期化するには、WebSecurity.InitializeDatabaseConnection メソッドを呼び出します (WebMatrix のスターター サイト テンプレートの _AppStart.cshtml ファイルに、このメソッドの呼び出しが含まれています)。このメソッドの autoCreateTables パラメーターが true に設定されており (スターター サイト テンプレートでは既定で true に設定)、認識できないテーブル名がこのメソッドに (第 2 パラメーターで) 渡された場合、このメソッドはエラーをスローしません。 代わりに、自動的にテーブルが作成されます。

メンバーシップ用にカスタム ユーザー テーブルを使用するつもりで、間違ったテーブル名を WebSecurity.InitializeDatabaseConnection メソッドに渡した場合、これが問題になる可能性があります。 指定したテーブルが存在しない場合でも、既定ではこのメソッドはエラーを生成しません。また、代わりに新しいテーブルが作成されるため、アプリケーションは正常に機能しているように見えます。 しかし、最終的には、カスタム ユーザー テーブル (とそのテーブル内のフィールド) を使用するアプリケーション コードは、予期しないエラーで失敗する可能性があります。

回避策
InitializeDatabaseConnection メソッドに渡す名前がメンバーシップ データベース内のユーザー プロファイル テーブルに一致していることを確認するか、autoCreateTables パラメーターが false に設定されていることを確認します。

問題: "Admin モジュールでは、~/App_Data へのアクセスが必要です" というエラー メッセージが表示される

状況によっては、ユーザーを作成するなど、ASP.NET メンバーシップ システムを操作しようとすると、ページに "Admin モジュールでは、~/App_Data へのアクセスが必要です" というエラーが表示されることがあります。 これは、IIS または IIS Express の実行に使用されているアカウントに、Web サイト ルートの App_Data フォルダーに対する作成と書き込みのアクセス許可が付与されていない場合に発生します。

回避策 Web サイトの App_Data フォルダーを手動で作成します。 次に、アプリケーションのルート フォルダーとサブフォルダー (App_Data など) に対する読み取り/書き込みアクセス許可が、アプリケーションの実行に使用されている Windows アカウント (通常は NETWORK SERVICE) に付与されていることを確認します。 詳細については、「SQL Server Express ユーザー インスタンスと ASP.net Web アプリケーション プロジェクトに関する問題」を参照してください。

問題: "SQL Server のユーザー インスタンスを生成できませんでした" というエラーが表示される

WebMatrix Web アプリケーションで SQL Server Express を使用しており、Windows 7 または Windows Server 2008 R2 で IIS 7.5 が実行されている場合、ユーザーのローカル アプリケーション パスを SQL Server が実行時に取得できないことを示すエラーが表示される場合があります。

回避策 アプリケーションのルート フォルダーとサブフォルダー (App_Data など) に対する読み取り/書き込みアクセス許可が、アプリケーションの実行に使用されている Windows アカウント (通常は NETWORK SERVICE) に付与されていることを確認します。 詳細については、「SQL Server Express ユーザー インスタンスと ASP.net Web アプリケーション プロジェクトに関する問題」を参照してください。

問題: IIS 6.0 以前の環境でパッケージ マネージャー リソースまたはパッケージ マネージャー パスワードを含むファイルを提供できる

RC2 リリースを使用して構築された ASP.NET Web Pages (Razor) アプリケーションを展開し、そのアプリケーションの /App_Data/adminpassword.txt または packagesources.txt ファイルが含まれている場合、IIS 6.0 は、要求された場合にそれらのファイルを提供します。その結果、パッケージ マネージャー インスタンスのパスワードが漏洩する可能性があります。

回避策 password.txt または packagesources.txt ファイルの名前を password.config または packagesources.config に変更します。既定では、IIS 6.0 は .config という拡張子を持つファイルを提供しません。 (IIS 7 では、App_Data フォルダー内のファイルは提供されないため、ファイル名を変更する必要はありません)。

問題: Beta 3 リリースを使用してインストールしたパッケージをアンインストールすると、パッケージのコンポーネントが完全には削除されない

Beta 3 リリースのパッケージ マネージャーを使用してパッケージをインストールし、それを現在のリリースを使用してアンインストールしようとした場合、パッケージは完全にはアンインストールされません。 パッケージ マネージャーの [アンインストール] ボタンを使用すると一部のコンポーネントは削除されますが、パッケージのライブラリ コードが残り、package.config ファイルは更新されません。

回避策
以下の手順を実行します。

  1. App_Data\packages フォルダーを削除します。 これにより、すべてのパッケージが削除されます。
  2. Web サイトのルートにある packages.config ファイルを削除します。

問題: Visual Studio で Web ベースのパッケージ マネージャーを呼び出すとアプリケーションがオフラインになる

WebMatrix ではなく Visual Studio で作業している場合に、_admin 機能を使用してパッケージ マネージャーを起動すると、Visual Studio によってアプリケーションがオフラインにされ、app_offline.htm が Web サイト ルートにポストされて、パッケージ マネージャーが使用できなくなります。

Note

この動作が発生するのは、大半は Web ベースのパッケージ マネージャー インターフェイスを使用しているときですが、App_Data フォルダー内のファイルを追加、削除、または変更した場合にも同じ動作が発生します。

回避策
Visual Studio でパッケージを操作する場合は、Web ベースのパッケージ マネージャーではなく、NuGet 拡張機能を使用します。 詳細については、NuGet のドキュメントを参照してください。 App_Data フォルダー内のほかのファイルを使用している場合は、この問題を防ぐために、どこか別の場所でファイルを保持することを検討してください。 それが実用的ではない場合は、app_offline.htm ファイルを手動で削除するか、サイトが自動的にオンラインに戻るのを待ちます (既定では 30 秒後)。

問題: Visual Studio IntelliSense およびプロジェクト テンプレートは ASP.NET MVC バージョン 3 でしか使用できない

ASP.NET Web ページをインストールしても Visual Studio 用のツール (IntelliSense や ASP.NET Web ページ アプリケーション用のプロジェクト テンプレートなど) はインストールされません。

回避策 IntelliSense や ASP.NET Web ページ アプリケーション用のプロジェクト テンプレートを Visual Studio で使用するには、Web Platform Installer またはスタンドアロン インストーラーを使用して ASP.NET MVC 3 RC をインストールします。

問題: フィードなどの外部データをプロキシ サーバー経由で読み取る

サイトを実行しているサーバーがプロキシ サーバーの背後にある場合、サイト外部の情報を読み取るために、web.config ファイルでプロキシ情報を構成する必要がある場合があります。 たとえば、ReCaptcha ヘルパーを使用する場合、ヘルパーは、reCAPTCHA サービスと通信を行いますが、プロキシ サーバーによってブロックされる可能性があります。 同様に、ASP.NET Web ページで使用されているフィード (パッケージ マネージャーによって使用されているフィードなど) にもプロキシ構成が必要となることがあります。

外部のサービスやパッケージ フィードを使用する際に問題が発生した場合は、アプリケーション ルートの web.config ファイルに次の要素を配置します。

<system.net>
  <defaultProxy>
    <proxy autoDetect="False" 
       proxyaddress="[proxy URL]"/>
  </defaultProxy>
</system.net>

プロキシ サーバーの構成の詳細については、MSDN Web サイトの「<proxy> 要素 (ネットワーク設定)」を参照してください。

問題: .NET Framework バージョン 4 をアンインストールすると Razor 構文が含まれる ASP.NET Web ページが無効になる

.NET Framework バージョン 4 をアンインストールして再インストールした場合、Razor 構文を使用した ASP.NET Web ページが無効になります。 拡張子が .cshtml のページは正しく実行されません。 ASP.NET Web ページは、マシン ルートの web.config ファイルにアセンブリを登録しますが、.NET Framework を削除すると、このファイルも削除されます。 .NET Framework を再インストールすると、新しいバージョンの構成ファイルがインストールされますが、ASP.NET Web ページ アセンブリに対する参照は追加されません。

回避策 .NET Framework バージョン 4 を再インストールした後で、Razor 構文を使用した ASP.NET Web ページを再インストールします。 これにより、マシンのルートにある web.config ファイルに次の要素が追加されます。通常は、次の場所にあります。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config (32-bit)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config (64-bit)

<compilation>
  <assemblies>
    <add assembly="System.Web.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

    <-- Additional assemblies here. -->

  </assemblies>
</compilation>

問題: IIS 7 または IIS 7.5 で、拡張子なしの URL で .cshtml/.vbhtml ファイルが見つからない

IIS 7 または IIS 7.5 で、次のような URL を含む要求では、拡張子が .cshtml または .vbhtml のページを見つけることができません。

http://www.example.com/ExampleSite/ExampleFile

IIS 7 または IIS 7.5 では URL 書き換えが既定で有効になっていないため、この問題が発生します。 最も簡単なシナリオは、IIS Express を使用してローカルでテストするときには問題が発生しないが、Web サイトをホスティング Web サイトに展開するときには発生するというシナリオです。

回避策

問題: SQL Server Compact がインストールされていないコンピューターにアプリケーションを展開する

SQL Server Compact データベースを含むアプリケーションは、SQL Server Compact がインストールされていないコンピューターで実行できます。 Microsoft WebMatrix 1.0 では、これらのバイナリが自動的にコピーされ、適切な web.config ファイル変換が実行されます。

回避策 これらのファイルをコピーし、web.config ファイルを手動で変更する必要がある場合は、次の手順を実行します。

  1. データベース エンジン アセンブリを、ターゲット コンピューター上のアプリケーションの Bin フォルダー (およびサブフォルダー) にコピーします。

    • C:\Program Files\Microsoft SQL Server Edition\v4.0\Desktop\System.Data.SqlServerCe.dll
      to \Bin
    • copy C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\x86\ to \Bin\x86
    • Copy C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private\amd64\* to \Bin\amd64
  2. Web サイトのルート フォルダーで、web.config ファイルを作成または開きます。 (WebMatrix 1.0 では、[Choose a File Type] (ファイルの種類の選択) ダイアログ ボックスの [すべて] をクリックした場合に、このファイルの種類を使用できます)。

  3. 次の要素を (<system.web> 要素内ではなく) <configuration> 要素の子として追加します。

    <system.data>
      <DbProviderFactories>
        <remove invariant="System.Data.SqlServerCe.4.0"></remove>
        <add name="Microsoft SQL Server Compact Data Provider" 
          invariant="System.Data.SqlServerCe.4.0" 
          Description=".NET Framework Data Provider for Microsoft SQL Server Compact" 
          type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
      </DbProviderFactories>
    </system.data>
    

問題: "Database" ヘルパーと "WebGrid" ヘルパーが Visual Basic の「中程度の信頼」で機能しない

Visual Basic を使用する (.vbhtml ファイルを作成する) 場合、アプリケーションが中程度の信頼を使用するように設定されていると、Database および WebGrid ヘルパーは機能しません。

回避策
Visual Studio 2010 を使用する場合は、Service Pack 1 リリースをインストールすることでこの問題を解決できます。 SP1 リリースの最終バージョンが利用可能になるまでは、Microsoft ダウンロード センターの Microsoft Visual Studio 2010 Service Pack 1 ページから SP1 のベータ 版をダウンロードできます。

これが実用的でない場合、または Visual Studio 2010 を使用しない場合は、完全な信頼を使用するように一時的にアプリケーションを設定できます。

問題: "ApplicationPart" リソースに外部からアクセスできる

アセンブリに ApplicationPart クラスから派生したオブジェクトが含まれている場合、そのアセンブリのリソースは ResourceRouteHandler クラスによって公開されます。 たとえば、次のような URL があるとします。

~/r.ashx/System.Web.WebPages.Administration/Resources/AdminResources.resources

この要求により、System.Web.WebPages.Administration.dll アセンブリ内のすべてのリソース文字列がダウンロードされます。 すべての埋め込みリソース (静的コンテンツとして提供されることを意図していないものも含む) がダウンロードされます。 埋め込みリソースに機密情報が含まれている場合、これはセキュリティ リスクを表す可能性があります。

回避策
ApplicationPart オブジェクトを作成する場合は、その ApplicationPart オブジェクトのアセンブリに関連付けられている埋め込みリソースに機密情報が含まれていないことを確認してください。

WebMatrix

Note

WebMatrix のインストールに関する問題については、このドキュメントで前述した WebMatrix のインストールの問題に関する記事を参照してください。

このセクションでは、WebMatrix 開発環境の既知の問題について説明します。

問題: web.config ファイル内のデータベース接続文字列のユーザー名またはパスワードの変更が [データベース] ワークスペースに反映されない

回避策

  1. web.config ファイルで、接続文字列のデータベース名を変更します (たとえば、"1" を追加します)。
  2. web.config ファイルを保存します。
  3. [データベース] をクリックして更新します。
  4. web.config ファイル内の接続文字列のデータベース名を変更して、元のデータベース名に戻します。
  5. web.config ファイルを保存します。
  6. [データベース] をクリックして更新します。

問題: WebMatrix によって作成されたフォルダーを削除できない

昇格されたアクセス許可を使用して WebMatrix を実行している場合 (つまり、Windows で [管理として実行] オプションを使用して WebMatrix を起動した場合)、WebMatrix によって作成されたフォルダーを、Windows エクスプローラーを使用して削除することはできません。

回避策
昇格されたアクセス許可を使用して Windows エクスプローラーを実行します。 次のステップを実行します。

  1. Windows で、[スタート] をクリックします。
  2. 「Windows エクスプローラー」と入力し、Windows エクスプローラーのエントリを右クリックします。
  3. [管理者として実行] をクリックします。 その後、フォルダーを削除できます。

問題: WebMatrix 1.0 が、昇格を必要とする特定のタスクを実行できない

WebMatrix 1.0 は、昇格を必要とする特定のタスクを実行できません。たとえば、次の状況で追加のコンポーネントをインストールする場合などです。

  • Windows Vista または Windows 7 で、管理者特権を持たないアカウントでログインしており、ユーザー アカウント制御 (UAC) が無効になっている。
  • Microsoft Windows XP または Microsoft Windows Server 2003 を使用している。

回避策
WebMatrix 1.0 のほとんどのタスクでは、管理アクセス許可は必要ありません。 これを行う場合は、管理者として操作を実行するか、次の手順を実行します。

  • Windows Vista または Windows 7 で、UAC を有効にします。
  • Windows XP で、ユーザーを管理者セキュリティ グループに追加します。

Web Platform Installer 3.0 がインストールされていない場合、[Web ギャラリーからサイト] オプションは無効になります。

回避策
Microsoft Web Platform Installer 3.0 をインストールしてください。

問題: Google Chrome を [実行] オプションとして使用できない

Google Chrome が、[ホーム] タブの [実行] の下のブラウザーのリストに表示されません。

回避策
Google Chrome の一部のバージョンは、Windows の [既定のプログラム] 機能に正しく登録されません。 回避策として、Google Chrome を起動し、[Google Chrome の設定] メニューをクリックし、[オプション] をクリックして、[Google Chrome を既定のブラウザーにする] をクリックします。

問題: [外部キー] ダイアログ ボックスで主キーの入力が許可されない

[外部キー] ダイアログ ボックスで、主キー テーブルから主キー名を入力できません。

回避策
これは意図的なものであり、 主キー テーブルから主キーの名前を入力する必要はありません。

問題: WebMatrix で、Razor 構文、C#、または Visual Basic に対して IntelliSense を使用できない

WebMatrix では、IntelliSense は HTML と CSS に対してサポートされています。 しかし、他の言語では使用できません。

回避策
なし。

問題: HTML と CSS に対する IntelliSense で、コンテキストに適していない要素が提案される

WebMatrix のマークアップ用 IntelliSense では、XHTML 1.0 Transitional スキーマを使用する HTML と、CSS 2.1 スキーマを使用する CSS がサポートされています。 IntelliSense はこれらの特定のスキーマに基づいているため、現在のページまたはスタイル定義に適していない特定のタグ、属性、またはプロパティが提案される場合があります。 HTML の場合、、誤った形式の XHTML として解釈される可能性のあるコンテンツ (タグが閉じられていない場合など) では、予期しない提案につながる可能性があります。 この問題は、挿入ポイントが不完全なタグ内にある場合に、より顕著になる可能性があります。その場合、IntelliSense は新しい開始タグを提案したり、他の誤った提案をしたりすることがあります。

回避策
HTML の場合は、正しい形式の完全な XHTML ページ内で作業していることを確認します。 CSS の場合、回避策はありません。

問題: 入力中に IntelliSense が呼び出されない

エディタに HTML または CSS を入力しているときに、IntelliSense が呼び出されない場合があります。 特に、挿入ポイントが別の要素のすぐ隣にある、またはファイルの末尾にある場合に発生する可能性があります。

回避策
挿入ポイントの前後に空白が存在すること、および挿入ポイントがファイルの末尾にないことを確認します。 Ctrl + Space キーを押して、IntelliSense を手動で呼び出すこともできます。

問題: IntelliSense を無効にするために使用できる UI がない

WebMatrix 1.0 では、IntelliSense を無効にするための UI やジェスチャが提供されていません。

回避策
次のコマンドを使用して WebMatrix を起動します。これには、IntelliSense を無効にするスイッチが含まれています。

WebMatrix.exe #ExecuteCommand# EditorIntelliSense off

IIS Express

IIS Express には独自の readme ファイルがあり、次の URL で入手できます。

https://go.microsoft.com/fwlink/?LinkID=207675&clcid=0x409

SQL Server Compact

SQL Server Compact には独自の readme ファイルがあり、次の URL で入手できます。

https://go.microsoft.com/fwlink/?LinkID=208545

WebMatrix の一部としての SQL Server Compact のインストールに関する問題の詳細については、このドキュメントで前述した「WebMatrix のインストールに関する問題」を参照してください。

アプリケーションのインストール

問題: ユーザーの My Documents フォルダーがネットワーク共有にリダイレクトされている場合、アプリケーションのインストールに時間がかかる場合がある

回避策
なし。 アプリケーションのインストールには時間がかかる場合がありますが、正しくインストールされます。

アプリケーションの公開

問題: SQL Compact Database の公開時に "必要なアクセス許可を取得できません" というエラーが発生する

WebMatrix では、.NET Framework 3.5 が中程度の信頼構成で実行されているサーバーに、SQL Server Compact のサポート バイナリをデプロイすることを完全にはサポートしていません。

回避策
推奨される回避策は、サーバーに .NET Framework 4 をインストールすることです。 または、次の操作を行います。

  1. Web_MediumTrust.config ファイルの SecurityClasses セクションに次の要素を追加します。

    <SecurityClass Name="ReflectionPermission" 
      Description="System.Security.Permissions.ReflectionPermission, mscorlib, 
        Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>	
        
    <SecurityClass Name="RegistryPermission" 
      Description="System.Security.Permissions.RegistryPermission, mscorlib, 
      Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
    
  2. Web_MediumTrust.config ファイルに、以下の必要なアクセス許可を持つ新しいアクセス許可セットを作成します。

    <PermissionSet class="NamedPermission" version="1" Name="SqlCe_Trust">
      <IPermission class="SecurityPermission" version="1" Flags="UnmanagedCode,SkipVerification"/>
      <IPermission class="EnvironmentPermission" version="1" Read="PROCESSOR_ARCHITECTURE"/>
      <IPermission class="RegistryPermission" version="1" Read="HKEY_LOCAL_MACHINE\" />
    </PermissionSet>
    
  3. Web_MediumTrust.config ファイルに次の要素を配置して、アクセス許可セットを SQL Server Compact に適用します。

    <CodeGroup class="UnionCodeGroup" version="1" PermissionSetName="ASP.Net">
      <IMembershipCondition class="UrlMembershipCondition" version="1" Url="$AppDirUrl$/*"/> 
      <CodeGroup class="UnionCodeGroup" 
          version="1" 
          PermissionSetName="SqlCe_Trust" 
          Name="SqlCe_Strong_Name" 
          Description="This code group grants code signed with the SQLCE strong name SqlCe_Trust. ">
        <IMembershipCondition class="StrongNameMembershipCondition" 
          version="1" 
          PublicKeyBlob="0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8" Name="System.Data.SqlServerCe" />
      </CodeGroup> 
    </CodeGroup>
    

一部の状況下で、アプリケーションを公開すると、"サービスを使用できません" というエラーが発生します。

回避策
WebMatrix の [Publish Settings] (公開設定) ウィンドウで、サーバー名の末尾に円記号 () を追加してから、アプリケーションをもう一度公開します。

Moodle アプリケーションを公開した後、アプリケーションが正しく動作しません。

回避策
WebMatrix の [Publish Settings] (公開設定) ウィンドウで、[サイト名] フィールドの末尾にスラッシュ (/) を追加してから、アプリケーションをもう一度公開します。

問題: nopCommerce の公開がデータベース エラーで失敗する

nopCommerce の公開が失敗し、"nop_log テーブルに挿入できませんでした" のようなデータベース エラーが報告されます。

回避策

  1. WebMatrix で、[実行] をクリックして nopCommerce をローカルで起動します。
  2. 管理ページにログインします。
  3. [システム] メニューをクリックします。
  4. [ログ] オプションをクリックします。
  5. [ログのクリア] ボタンをクリックします。
  6. nopCommerce をもう一度公開します。

問題: 公開済みサイトをダウンロードすると、Silverstripe CMS に "HTTP 500 PHP FCGI エラー" が表示される

回避策
[Download published site] (公開済みサイトのダウンロード) をクリックした後、[プレビューの公開]silverstripe-cache/manifest_main をスキップします。 このファイルはキャッシュ目的で使用され、各コンピューターに固有です。

問題: 公開済みサイトをダウンロードすると、サブテキストに "'/' アプリケーションのサーバー エラー" が表示される

回避策
サイトの web.config ファイルを開き、データベース接続文字列内のユーザー ID とパスワードを SQL Server 管理者の資格情報 ("sa" 資格情報) に置き換えます。

または、次の手順を実行して、ログインしているユーザー アカウントに db_owner アクセス許可を付与します。

  1. Web Platform Installer を使用して SQL Server Management Studio をインストールします。
  2. ローカルの SQL Server Express インスタンスに接続します (既定では .\SQLEXPRESS)。
  3. [データベース]>[localSubtextDatabase]>[セキュリティ]>[ユーザー]>[localSubtextUser] (既定値は subtextuser) をクリックし、右クリックして [プロパティ] をクリックします。
  4. [ロール メンバーシップ] セクションで db_owner を選択します。

問題: [宛先 URL] フィールドにプレフィックス http:// または https:// が付いていない場合、公開後にサイトが機能しないことがある

[公開の設定] ダイアログ ボックスで、宛先 URL の先頭が http:// または https:// になっていない場合、展開後にサイトが起動しないことがあります。

回避策
サイトを公開する前に、[公開の設定] ダイアログ ボックスで宛先 URL の先頭が http:// または https:// になっていることを確認してください。

問題: MySQL データベースの公開が失敗し、"データベースを公開できませんでした。 これは、リモート データベースでスクリプトを実行できない場合に発生する可能性があります" というエラーが発生する

このエラーは、さまざまな理由で発生する可能性があります。 このエラーが発生する理由の 1 つは、データベース スクリプトに単一引用符 (') が含まれており、宛先の MySQL データベースの既定の文字セットが UTF-8 ではない場合です。

回避策
リモート MySQL データベースの既定の文字セットを UTF-8 に設定します。

DotNetNuke サイトを公開またはダウンロードする場合は、新しいリンクがサイトに表示されるようにするためにキャッシュをクリアする必要がある場合があります。

回避策

  1. "ホスト" としてログインします。
  2. ホスト メニューに移動し、[ホストの設定] を選択します。
  3. 下にスクロールし、[詳細設定][パフォーマンス設定] を展開します。
  4. ページの [キャッシュをクリア] リンクをクリックします。
  5. ページの下部に移動し、アプリケーションを再起動します。

回避策
service.config ファイル、users.config ファイル、およびすべての .xml ファイルで、URL 文字列 (たとえば http://myhost.com/atomsite) をローカルの文字列 (たとえば http://localhost:1239) に置き換えます。

問題: WordPress などの MySQL ベースのアプリケーションが公開に失敗してデータベース エラーを報告する

既定では、WebMatrix は UTF-8 文字セットを使用して MySQL をインストールします。 MySQL を自分でインストールし、文字セットが UTF-8 でない場合 (Latin1 など)、データベースの公開プロセスが失敗する可能性があります。

回避策

  1. MySQL の文字セットを UTF-8 に変更します。 (詳細については、MySQL Web サイトのサーバー文字セットと照合順序に関する記事を参照してください)。
  2. アプリケーションを再インストールします。
  3. アプリケーションを再発行します。

問題: ブラウザー ベースのセットアップを使用しているアプリケーションで "公開済みサイトのダウンロード" が失敗する

一部のアプリケーション (Kentico CMS など) は、データベースの作成などのインストール後のセットアップを実行するために、ブラウザーで起動する必要があります。 ブラウザー ベースのセットアップを完了せずにこのようなアプリケーションを公開した場合、リモート サーバーから同じサイトをダウンロードしようとすると失敗します。

回避策
サイトを発行する前に、ブラウザーベースのセットアップを完了します。

問題: DotNetNuke と Kooboo CMS のデータベース エラーで "公開済みサイトのダウンロード" が失敗する

サーバーからアプリケーションをダウンロードしようとして、[Publish Settings] (公開設定) ダイアログのデータベース接続文字列に管理者資格情報が含まれている場合、公開ログに次のエラーが表示されることがあります。

1:28:29 PM: An error occurred during execution of the database script. The approximate location of the error was between lines '3260' and '3262' of the script. The verbose log may have more information about the error. The command started with:

1:28:29 PM: CREATE LOGIN [MACHINE\Administrator] FROM WINDOW

1:28:29 PM: https://go.microsoft.com/fwlink/?LinkId=178587.

回避策
実用的な場合は、データベースの非管理者の資格情報を使用してサイトを再公開 (または公開) します。

詳細情報

WebMatrix 1.0 の詳細については、次の Web サイトを参照してください。