トレーニング
ラーニング パス
FastTrack サービス、データ管理などを使用して、財務と運用アプリの実装を成功させるためのプロジェクト方法論を計画および設計します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Web Matrix と ASP.NET Web ページ (Razor) Beta 3 リリース Readme
2010 年 11 月 9 日
Microsoft WebMatrix Beta は、数分でインストールできる無料の Web 開発ツールです。 データベースとプログラミングのフレームワークに Web サーバーを組み合わせることによって、単一の統合エクスペリエンスを実現します。 WebMatrix Beta を使用して、独自の ASP.NET または PHP Web サイトをコーディング、テスト、公開する方法を合理化したり、一般的なオープンソース アプリケーション (DotNetNuke、Umbraco、WordPress、Joomla など) を使用して新しい Web サイトを作成したりすることができます。 WebMatrix Beta では、インターネット上で Web サイトを実行するのと同じ強力な Web サーバー、データベース エンジン、フレームワークが使用されているため、開発環境から運用環境への円滑かつシームレスな移行が可能です。
注意
WebMatrix は、ASP.NET Web ページの統合開発環境としては推奨されなくなりました。 Visual Studio または Visual Studio Code をお使いください。
インストール中に問題が発生した場合は、「Microsoft Web Platform Installer に関する問題のトラブルシューティング」を参照してください。
アプリケーションの公開のステップ バイ ステップの手順に関する記事を参照してください。
WebMatrix Beta には .NET Framework Version 4 が必要です。 場合によっては、WebMatrix Beta インストーラを使用すると、サポートされている構成セットに含まれていないプラットフォームへのインストールを試すことができます。 特に、SP1 更新プログラムが適用されていない Windows Vista では、WebMatrix Beta のインストールを開始できますが、.NET Framework 4 コンポーネントでエラーが発生し、インストールはブロックされます。
回避策
サポートされているプラットフォームにインストールします。サポート対象のプラットフォームは次のとおりです。
- Windows 7
- Windows Server 2008
- Windows Server 2008 R2
- Windows Vista SP1 以降
- Windows XP SP3
- Windows Server 2003 SP2
回避策
Microsoft ダウンロード センターから Microsoft Visual Studio 2008 Service Pack 1 をインストールします。
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 のアンインストールは機能しません。
回避策
Windows コントロール パネルの [プログラムと機能] を使用して Microsoft SQL Server Compact 4.0 をアンインストールします。
ドキュメントのこのセクションでは、Razor 構文を使用した ASP.NET Web ページ Beta 3 リリースの新機能、変更点、既知の問題について説明します。
新しい
Html.Raw
メソッドを使用すると、エンコードされた出力をレンダリングする代わりに、HTML マークアップをマークアップとしてレンダリングできます (既定では、ASP.NET Razor は文字列をレンダリングする前にエンコードします)。構文は次のとおりです。
Html.Raw(value)
次の例は、
Html.Raw
を使用する方法を示しています。@* Inserts literal markup into the page as specified in the value string. *@ @Html.Raw("<div>Hello <em>world</em>!</div>")
WebPage
クラスのHrefAttribute
メソッドが削除されました。 このヘルパーは、URL 内の安全でない文字をエンコードするために使用されていました。 ASP.NET Razor が自動的に文字列をエンコードするため、不要になりました (エンコードされていない文字列をレンダリングするには、新しいHtml.Raw
メソッドを使用します)。
Beta 3 リリースでは、
@helper
構文を使用して作成されたヘルパーの解析方法が ASP.NET によって変更されました。 本質的に、@helper
構文は、コードを含めることができるマークアップのブロックとしてではなく、コード ブロックとして解析されるようになりました。 そのため、ヘルパー内のコードを@{ }
ブロックで囲む必要はありません。 逆に、ヘルパー内のマークアップは、HTML 要素または ASP.NET Razor の<text></text>
タグに明示的に含める必要があります。たとえば、Beta 3 リリースでは次の
@helper
構文が機能します。@helper ThumbnailLink(string imagePath, int width, int height) { @{ string newFileName = ""; WebImage thumbnail = new WebImage(imagePath); if(thumbnail != null){ thumbnail.Resize(width, height, true, true); newFileName = @"~\thumb_" + Path.GetFileName(thumbnail.FileName); thumbnail.Save(newFileName); } } <a href="@Href(imagePath)"><img src="@Href(newFileName)" /></a> }
Beta 3 リリースでは、このヘルパーを次の例のように変更する必要があります。
@helper ThumbnailLink(string imagePath, int width, int height) { string newFileName = ""; WebImage thumbnail = new WebImage(imagePath); if(thumbnail != null){ thumbnail.Resize(width, height, true, true); newFileName = @"~\thumb_" + Path.GetFileName(thumbnail.FileName); thumbnail.Save(newFileName); } <a href="@Href(imagePath)"><img src="@Href(newFileName)" /></a> }
ヘルパー内の最初のコードの周囲にあった
@{ }
文字は、使用されなくなったことに注意してください。 これは、ヘルパーのコンテンツが既定でコード ブロックとして扱われるためです。 ヘルパーは、<a>
開始タグで始まるマークアップをレンダリングします。 ヘルパーがプレーンテキストや終了タグを含まないタグ (<meta>
タグなど) をレンダリングする必要がある場合、レンダリングするコンテンツを<text></text>
タグで囲む必要があります。
WebPageContext.HttpContext
プロパティは削除されました。 代わりにHttpContext.Current
を使用してください (WebPageContext.HttpContext
プロパティはこれを単純にラップしたものです)。
次の型が
WebMatrix.WebData
アセンブリに移動しました。
ExtendedMembershipProvider
SimpleMembershipProvider
SimpleRoleProvider
WebSecurity
TagBuilder
クラスは System.Web.WebPages.dll アセンブリに移動しました。 以前は、ASP.NET MVC の一部であるアセンブリに含まれていました。 この変更により、TagBuilder
クラスを使用するために ASP.NET MVC をインストールする必要がなくなりました。ただし、クラスはまだ
System.Web.Mvc
名前空間にあります。TagBuilder
クラスを使用するには (たとえば、カスタム ASP.NET Razor ヘルパーで使用する場合)、(@using System.Web.Mvc
をコードに追加するなどして) 名前空間を参照する必要があります。
Beta 3 リリースで、個々のフィールドまたはフィールド セットの検証を無効にするには、
Validation.Exclude
メソッドを呼び出して、検証から除外するフィールドの名前を渡します。 Beta 3 リリースでは、検証をバイパスするための新しい構文を使用できます。 Beta 3 で使用されていたValidation
メソッドは削除されました。注意
要求の検証を無効にしない場合、ユーザーが (たとえば、ページ上でリッチ テキスト エディターを使用して) HTML マークアップをアップロードしようとすると、Web サイトは "潜在的に危険な Request.Form 値がクライアントから検出されました" などのエラーを報告し、ユーザーによる入力は受け付けられません。 要求の検証を無効にする場合は、潜在的に危険なマークアップやスクリプトが含まれていないことを確認するために、「ASP.NET Core でクロスサイト スクリプティング (XSS) を防ぐ」の手順で、ユーザーによる入力を手動でチェックする必要があります。
要求の自動検証を無効にするには、
Request.Unvalidated
メソッドを呼び出し、要求の検証をバイパスするフィールドまたはその他のポスト オブジェクトの名前を渡します。 このメソッドを使用すると、Form
、QueryString
、Cookies
、ServerVariables
コレクション内の任意の項目の検証をバイパスすることができます。Unvalidated
メソッドを使用する方法の例を次に示します。Request["userInput"]; // Validated Request.Unvalidated("userInput"); // Validation bypassed Request.Unvalidated().Form["userInput"]; // Validation bypassed Request.QueryString["userPreference"]; // Validated Request.Unvalidated().QueryString["userPreference"]; // Validation bypassed
ASP.NET Razor Web サイトのメンバーシップ プロバイダーを初期化するには、
WebSecurity.InitializeDatabaseConnection
メソッドを呼び出します (WebMatrix のスターター サイト テンプレートの _AppStart.cshtml ファイルに、このメソッドの呼び出しが含まれています)。このメソッドのautoCreateTables
パラメーターが true に設定されており (スターター サイト テンプレートでは既定で true に設定)、認識できないテーブル名がこのメソッドに (第 2 パラメーターで) 渡された場合、このメソッドはエラーをスローしません。 代わりに、自動的にテーブルが作成されます。メンバーシップ用にカスタム ユーザー テーブルを使用するつもりで、間違ったテーブル名を
WebSecurity.InitializeDatabaseConnection
メソッドに渡した場合、これが問題になる可能性があります。 指定したテーブルが存在しない場合でも、既定ではこのメソッドはエラーを生成しません。また、代わりに新しいテーブルが作成されるため、アプリケーションは正常に機能しているように見えます。 しかし、最終的には、カスタム ユーザー テーブル (とそのテーブル内のフィールド) を使用するアプリケーション コードは、予期しないエラーで失敗する可能性があります。回避策
InitializeDatabaseConnection
メソッドに渡す名前がメンバーシップ データベース内のユーザー プロファイル テーブルに一致していることを確認するか、autoCreateTables
パラメーターが false に設定されていることを確認します。
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 アプリケーション プロジェクトに関する問題」を参照してください。
Visual Studio のプロジェクトでカスタム アセンブリを使用している場合、それらのアセンブリで宣言されている名前空間はデザイン時に自動的にインポートされません。 その結果、カスタム型への参照はデザイン時に認識されず、Visual Studio では認識されないことを示すマーク ("波線") が付きます。 この問題は、Visual Studio のデザイン時にのみ発生し、アプリケーション自体は正常に実行されます。
回避策
デザイン時に認識されないエンティティを参照するusing
ステートメント (Visual Basic ではimports
) を含めます。
ASP.NET Web ページをインストールしても Visual Studio 用のツール (IntelliSense や ASP.NET Web ページ アプリケーション用のプロジェクト テンプレートなど) はインストールされません。
回避策 IntelliSense や ASP.NET Web ページ アプリケーション用のプロジェクト テンプレートを Visual Studio で使用するには、Web Platform Installer またはスタンドアロン インストーラーを使用して ASP.NET MVC 3 RC をインストールします。
Beta 3 にアップグレードした後、ヘルパー クラス (
回避策
サイト内のヘルパーへの呼び出しをすべてコメント アウトし、_Admin ページを実行し、使用するヘルパーを含むパッケージをインストールします。 パッケージをインストールした後、ヘルパーを参照する行をコメント解除できます。
ASP.NET Web ページの Web サイトをホスティング サイトに展開し、ASP.NET Razor Beta 3 アセンブリをサイトの Bin フォルダーに展開すると、次のようなエラーが発生する可能性があります。
Could not load type 'Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility' from assembly 'Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
これは、ホスティング プロバイダーが ASP.NET Web Pages Beta 1 アセンブリをサーバーのグローバル アプリケーション キャッシュ (GAC) にインストールした場合に発生する可能性があります。 GAC 内のアセンブリは、Bin フォルダーにローカルに インストールされているアセンブリよりも優先されます。
回避策 ホスティング プロバイダーに問い合わせて、表示されているエラーがプロバイダーのアセンブリのバージョンとユーザーのバージョンの間の競合が原因であることを確認してください。 その場合は、ホスティング プロバイダーがサーバーの GAC 内のアセンブリを更新することを要求します。
サイトを実行しているサーバーがプロキシ サーバーの背後にある場合、サイト外部の情報を読み取るために、Web.config ファイルでプロキシ情報を構成する必要がある場合があります。 たとえば、
ReCaptcha
ヘルパーを使用する場合、ヘルパーは、reCAPTCHA サービスと通信を行いますが、プロキシ サーバーによってブロックされる可能性があります。 同様に、ASP.NET Web ページで使用されているフィード (パッケージ マネージャーによって使用されているフィードなど) にもプロキシ構成が必要となることがあります。外部のサービスやパッケージ フィードを使用する際に問題が発生した場合は、アプリケーション ルートの Web.config ファイルに次の要素を配置します。
<system.net> <defaultProxy> <proxy autoDetect="False" proxyaddress="[proxy URL]"/> </defaultProxy> </system.net>
プロキシ サーバーの構成の詳細については、MSDN Web サイトの「<proxy> 要素 (ネットワーク設定)」を参照してください。
以前に Razor 構文を使用して ASP.NET Web ページの Beta 1 バージョンをインストールした後、Beta 3 バージョンをインストールした場合は、Microsoft.Web.Infrastructure.dll を除くすべての適切なアセンブリが GAC にインストールされます。 その結果、ASP.NET Razor ページを実行すると、Microsoft.Web.Infrastructure.dll を読み込めなかったことを示すエラーが表示されます。
この問題は、クリーンなコンピューターに Beta 3 リリースを読み込んだ場合には発生しません。
回避策
コントロール パネルで、ASP.NET Web ページをアンインストールします。 次に、Beta 3 リリースを再インストールします。
.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="Microsoft.WebPages.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <-- Additional assemblies here. --> </assemblies> </compilation>
展開時に、ASP.NET Web ページ アセンブリ (Microsoft.WebPages.dll など)のコピーが、サーバー上の Web サイトの Bin フォルダーに配置されます (これは、展開時に自動的に発生したか、開発者がアセンブリを明示的にコピーしたために発生した可能性があります)。ただし、Beta 3 リリースがインストールされると、特定の型が見つからないなどのエラーが発生します。 これは、Beta 3 リリースで、多くの ASP.NET Web ページ型が別の名前空間に移動されたために発生します。
回避策
展開されたアプリケーションの Bin フォルダーをクリアし、新しいアセンブリをフォルダーにコピー (またはアプリケーションを再展開) してから、アプリケーションを再起動します。
IIS 7 または IIS 7.5 で、次のような URL を含む要求では、拡張子が .cshtml または .vbhtml のページを見つけることができません。
http://www.example.com/ExampleSite/ExampleFile
IIS 7 または IIS 7.5 では URL 書き換えが既定で有効になっていないため、この問題が発生します。 最も簡単なシナリオは、IIS Express を使用してローカルでテストするときには問題が発生しないが、Web サイトをホスティング Web サイトに展開するときには発生するというシナリオです。
回避策
- サーバー コンピューターを制御できる場合は、URL の末尾がピリオドではない要求を特定の IIS 7.0 または IIS 7.5 ハンドラーが処理できるようにするための更新プログラムの提供に関する記事で説明されている更新プログラムをサーバー コンピューターにインストールします。
- サーバー コンピューターを制御できない場合は (ホスティング Web サイトに展開する場合など)、Web サイトの Web.config ファイルに以下を追加します。
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
Web アプリケーション プロジェクトまたは ASP.NET MVC アプリケーションで ASP.NET Web ページを使用していた場合、WebPageHttpApplication が見つからない旨のエラーが表示されることがあります。
回避策
このエラーが発生した場合は、アプリケーションの派生元の基底クラスを変更します。 Global.asax ファイルで、次の行を変更します。public class MvcApplication : WebPageHttpApplication { ... }
結果として、次を実現します。
public class MvcApplication : HttpApplication { ... }
これにより、Razor 構文を使用した ASP.NET Web ページの Beta 1 リリースで導入された変更が元に戻ります。
SQL Server Compact データベースを含むアプリケーションは、SQL Server Compact がインストールされていないコンピューターで実行できます。 Microsoft WebMatrix Beta 3 では、これらのバイナリが自動的にコピーされ、適切な Web.config ファイル変換が実行されます。
回避策 これらのファイルをコピーし、Web.config ファイルを手動で変更する必要がある場合は、次の手順を実行します。
データベース エンジン アセンブリを、ターゲット コンピューター上のアプリケーションの Bin フォルダー (およびサブフォルダー) にコピーします。
- copy C:\Program Files\Microsoft SQL Server Compact 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
Web サイトのルート フォルダーで、Web.config ファイルを作成または開きます (WebMatrix Beta 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>
Visual Basic を使用する (.vbhtml ファイルを作成する) 場合、アプリケーションが中程度の信頼を使用するように設定されていると、
Database
およびWebGrid
ヘルパーは機能しません。回避策
アプリケーションを一時的に完全な信頼を使用するように設定します。
SQL Server Compact 4.0 では、
SqlCeConnection
クラスのEncrypt
プロパティが認識されません。 このプロパティを使用してデータベース ファイルを暗号化しないでください。Encrypt
プロパティは SQL Server Compact 3.5 リリースでは非推奨となり、下位互換性のためだけに残されてきました。回避策
SQL Server Compact 4.0 データベース ファイルを暗号化するには、SqlCeConnection
クラスのEncryption Mode
プロパティを使用します。 次の例は、Encryption Mode
プロパティを使用して暗号化された SQL Server Compact 4.0 データベースを作成する方法を示しています。SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;"); engine.CreateDatabase();
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;") engine.CreateDatabase()
既存の SQL Server Compact 4.0 データベースの暗号化モードを変更するには、次の手順を実行します。
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;"); engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=<enterStrongPasswordHere>;");
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;") engine.Compact("Data Source=Northwind.sdf;encryption mode=ppc2003 compatibility;Password=<enterStrongPasswordHere>;")
暗号化されていない SQL Server Compact 4.0 データベースを暗号化するには、次の手順を実行します。
SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf"); engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;") engine.Compact("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
SQL Server Compact 4.0 のネイティブ DLL には、Microsoft Visual C++ 2008 ランタイム ライブラリ (x86、IA64、x64)、Service Pack 1 が必要です。
回避策
.NET Framework 3.5 SP1 をインストールします。 これにより、Visual C++ 2008 ランタイム ライブラリ SP1 もインストールされます。 ライブラリは、次の場所からダウンロードできます。Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package ATL Security Update
注意
.NET Framework 2.0、3.0、または 4 をインストールしても、Visual C++ 2008 ランタイム ライブラリ SP1 はインストールされないことに注意してください。
SQL Server Compact は .NET Framework を必要しているため、.NET Framework がインストールされていないコンピューターにインストールすることができます。 SQL Server Compact をインストールする前に .NET Framework バージョン 3.5 または 4 のいずれもインストールされていない場合、SQL Server Compact セットアップは、machine.config ファイルにそのプロバイダーの不変名を登録しません。 machine.config ファイル内の SQL Server Compact エントリを使用するアプリケーションは、すべて失敗します。 machine.config の不変名の登録エントリは、次の例のように表示されます。
<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>
回避策
SQL Server Compact 4.0 CTP1 をアンインストールします。 次の場所から .NET Framework の完全なバージョンをダウンロードしてインストールします。Microsoft .NET Framework 3.5 Service Pack 1 (フル パッケージ)
Microsoft .NET Framework 4.0 リリース (フル パッケージ)次に、SQL Server Compact 4.0 SP1を再インストールします。
回避策
なし。 アプリケーションのインストールには時間がかかる場合がありますが、正しくインストールされます。
[公開の設定] ダイアログ ボックスで、宛先 URL の先頭が
http://
またはhttps://
になっていない場合、展開後にサイトが起動しないことがあります。回避策
サイトを公開する前に、[公開の設定] ダイアログ ボックスで宛先 URL の先頭がhttp://
またはhttps://
になっていることを確認してください。
このエラーは、さまざまな理由で発生する可能性があります。 このエラーが発生する理由の 1 つは、データベース スクリプトに単一引用符 (') が含まれており、宛先の MySQL データベースの既定の文字セットが UTF-8 ではない場合です。
回避策
リモート MySQL データベースの既定の文字セットを UTF-8 に設定します。
サイトのレポートを実行する際、[URL でフィルター] ボックスにテキストを入力して [検索] をクリックしても何も起こりません。 これは、レポートの [グループ化] 状態が [問題の種類] (既定値) に設定されている間は、このコントロールが機能しないためです。
回避策 リボン上の [グループ化] タブで [URL] をクリックし、エントリをソース URL ごとにグループ化します。 この状態の間、エントリをフィルター処理するテキスト ボックスとボタンは機能します。
WCF アプリケーションを参照すると、次のようなエラーが発生します。
ファイルまたはアセンブリ 'Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral,PublicKeyToken=31bf3856ad364e35'、またはその依存関係の 1 つが読み込めませんでした。 指定されたファイルが見つかりません。
これは、IIS Express Beta リリースが既定で WCF をサポートしていないために発生します。
回避策 次のいずれかの回避策を使用します (回避策 #2 は Microsoft Windows Vista 以降が必要です)。
Microsoft.Web.dll および Microsoft.Web.Administration.dll アセンブリを WebMatrix のインストール場所から WCF アプリケーションの bin ディレクトリにコピーします。 既定では、WebMatrix はシステムの Program Files フォルダー内の Microsoft WebMatrix サブフォルダーにインストールされます。
Microsoft Windows Vista 以降では、次のコマンドを使用して、bin ディレクトリ内のアセンブリへのシンボリック リンクを作成します (この方法には、アセンブリのコピーが作成されないという利点があります)。
mklink Microsoft.Web.Administration.dll "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" mklink Microsoft.Web.dll "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"
GAC に 2 つのアセンブリをインストールします。 昇格されたプロンプトから、次のコマンドを実行します。
gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.Administration.dll" gacutil /i "c:\Program Files (x86)\Microsoft WebMatrix\Microsoft.Web.dll"
WebMatrix Beta 3 は、昇格を必要とする特定のタスクを実行できません。たとえば、次の状況で追加のコンポーネントをインストールする場合などです。
- Windows Vista または Windows 7 で、管理者特権を持たないアカウントでログインしており、ユーザー アカウント制御 (UAC) が無効になっている。
- Microsoft Windows XP または Microsoft Windows Server 2003 を使用している。
回避策
WebMatrix Beta 3 のほとんどのタスクでは、管理アクセス許可は必要ありません。 これを行う場合は、管理者として操作を実行するか、次の手順を実行します。
- Windows Vista または Windows 7 で、UAC を有効にします。
- Windows XP で、ユーザーを管理者セキュリティ グループに追加します。
Web Platform Installer 3.0 がインストールされていない場合、[Web ギャラリーからサイト] オプションは無効になります。
回避策
Microsoft Web Platform Installer 3.0 をインストールしてください。
Windows Server 2003 で、ページを起動したり IIS Express を起動したりしても、IIS Express が起動しません。 Web ページの場合、管理者以外のユーザーがアプリケーションを起動したことを示すエラーが表示されます。
回避策
WebMatrix Beta 3 を管理ユーザーとして起動します。
Google Chrome が、[ホーム] タブの [実行] の下のブラウザーのリストに表示されません。
回避策
Google Chrome の一部のバージョンは、Windows の [既定のプログラム] 機能に正しく登録されません。 回避策として、Google Chrome を起動し、[Google Chrome の設定] メニューをクリックし、[オプション] をクリックして、[Google Chrome を既定のブラウザーにする] をクリックします。
[外部キー] ダイアログ ボックスで、主キー テーブルから主キー名を入力できません。
回避策
これは意図的なものであり、 主キー テーブルから主キーの名前を入力する必要はありません。
SQL Server Compact データベースでは、[データベース] ワークスペースの [テーブル] タブにある [リレーションシップ] ボタンは無効になっています。
回避策
なし。 SQL Server Compact はテーブル間のリレーションシップをサポートしていません。
SQL Server Compact 4.0 では、パラメーター化されたクエリのパラメーターに
SqlDbType
やDbType
などのデータ型を指定しないと、クエリの実行時に例外がスローされます。回避策
SqlDbType
やDbType
などのパラメーターのデータ型を明示的に設定します。 これは、BLOB データ型 (image
およびntext
) の場合に重要です。 次のようなコードを使用します。SqlCeEngine engine = new SqlCeEngine(connString); engine.CreateDatabase(); engine.Dispose(); SqlCeConnection conn = new SqlCeConnection(connString); conn.Open(); SqlCeCommand cmd = conn.CreateCommand(); cmd.CommandText = "CREATE TABLE BlobTable(name nvarchar(128), blob ntext);"; cmd.ExecuteNonQuery(); cmd.CommandText = "INSERT INTO BlobTable(name, blob) VALUES (@name, @blob);"; SqlCeParameter paramName = cmd.Parameters.Add("name", SqlDbType.NVarChar, 128); SqlCeParameter paramBlob = cmd.Parameters.Add("blob", SqlDbType.NText); paramName.Value = "Name1"; paramBlob.Value = "Name1".PadLeft(4001); cmd.ExecuteNonQuery();
Dim engine As SqlCeEngine = New SqlCeEngine(connString) engine.CreateDatabase() engine.Dispose() Dim conn As SqlCeConnection = New SqlCeConnection(connString) conn.Open() Dim cmd As SqlCeCommand = conn.CreateCommand() cmd.CommandText = "CREATE TABLE BlobTable(name nvarchar(128), blob ntext);" cmd.ExecuteNonQuery() cmd.CommandText = "INSERT INTO BlobTable(name, blob) VALUES (@name, @blob);" Dim paramName As SqlCeParameter Dim paramBlob As SqlCeParameterparamName = cmd.Parameters.Add("name", SqlDbType.NVarChar, 128) paramName.Value = "Name1" paramBlob = cmd.Parameters.Add("blob", SqlDbType.NText) paramBlob.Value = "Name1".PadLeft(4001) cmd.ExecuteNonQuery()
WebMatrix Beta 3 の詳細については、次の Web サイトを参照してください。
トレーニング
ラーニング パス
FastTrack サービス、データ管理などを使用して、財務と運用アプリの実装を成功させるためのプロジェクト方法論を計画および設計します。
ドキュメント
このトピックでは、WebMatrix コンテンツの開発シナリオについて説明する記事、ビデオ、リソースへのリンクの一覧を提供します。
異なるバージョンの ASP.NET Web ページ (Razor) を並行して実行する
この記事では、Web サイトが異なるバージョンを使用するように構成されている場合に、同じコンピューターまたはサーバー上で ASP.NET Web ページ (Razor) Web サイトを実行する方法について説明します...
WebMatrix および ASP.NET Web ページ (Razor) 1.0 リリースの Readme を提供し、以前のバージョンからの変更点について説明します。