私はVisual Studio 2013を使用していますが、ご存知のとおり、ASP.NET Web構成ツールはありません。私はいつものように速い役割などを作りたいと思っていました。この記事を使用して有効にしようとしました: http://blogs.msdn.com/b/webdev/archive/2013/08/19/asp-net-web-configuration -tool-missing-in-visual-studio-2013.aspx?PageIndex = 2#comments しかし、「無効なアプリケーションパス」エラーが表示されます。このエラーまたは回避策の解決策はありますか?
コンソールで、ここに記載されているとおりにコピーして貼り付けます。
"C:\Program Files\IIS Express\iisexpress.exe" /path:c:\windows\Microsoft.NET\Framework\v4.0.30319\ASP.NETWebAdminFiles /vpath:"/asp.netwebadminfiles" /port:8089 /clr:4.0 /ntlm
管理者権限でcmd.exeを開くかどうかは関係ありません。コンソールに上記のコードをコピーして貼り付け、完了するまで「q」で終了しないでください。
次に、ブラウザウィンドウを開き、アドレスバーにこれを書き込みます。
http://localhost:8089/asp.netwebadminfiles/default.aspx?applicationPhysicalPath=[Exact_Project_Path]\&applicationUrl=/
必ずWindows Explorerからプロジェクトパスをそのままコピーして貼り付けてください。動作します;)
MicrosoftがこれをVS2013の次のアップデートに追加することを願っています!過去に行ったようにメンバーシップを処理するためだけにコードをコピー&ペーストすることは誰にとっても便利ではありません...
お役に立てば幸いです!
重要な編集:すみません、管理者権限でコンソールを起動することが重要であることに気付きました。そうしないでください。コンソールに管理者権限がある場合、Web設定ツールはセキュリティページにこのエラーを表示します。
選択したデータストアに問題があります。これは、無効なサーバー名または資格情報、または不十分な許可が原因である可能性があります。ロールマネージャ機能が有効になっていないことも原因の可能性があります。下のボタンをクリックして、新しいデータストアを選択できるページにリダイレクトします。次のメッセージは、問題の診断に役立つ場合があります。パス 'C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\1c3fef5c\2180c7f9\hash'へのアクセスは拒否されました。
ユーザー名とパスワードの入力を求められたら、次を実行します。
here からダウンロードした「Credentials Manager for WCF」という名前のオープンソースユーティリティがあります。動作するには以下の構成が必要です。
構成については、プロジェクト「CredentialServiceHost」の構成ファイルを次のように編集する必要があります。
*<?xml version="1.0"?>
<configuration>
<connectionStrings>
<clear />
<add name="AspNetDbConnectionString" connectionString="[Your data base connection string]" providerName="System.Data.SqlClient"/>
<add name="LocalSqlServer" connectionString="[Your data base connection string]" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<authentication mode="None"/>
<roleManager enabled="true"/>
</system.web>
<system.serviceModel>
<services>
<service name="AspNetSqlProviderService" behaviorConfiguration="MEX Enabled">
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IApplicationManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IMembershipManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IPasswordManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IRoleManager"/>
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IUserManager"/>
</service>
</services>
<bindings>
<wsHttpBinding>
<binding name="TransactionalWS" transactionFlow="true">
<reliableSession enabled="True"/>
</binding>
</wsHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="MEX Enabled">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
プロジェクト「CredentialsManager」の場合、次の構成を使用する必要があります。
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="CredentialsManagerClient.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</sectionGroup>
</configSections>
<applicationSettings>
<CredentialsManagerClient.Properties.Settings>
<setting name="AspNetSqlProviderService" serializeAs="String">
<value>http://localhost:8000</value>
</setting>
</CredentialsManagerClient.Properties.Settings>
</applicationSettings>
<system.serviceModel>
<client>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IApplicationManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IMembershipManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IPasswordManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IRoleManager"/>
<endpoint address="http://localhost:8000/" binding="wsHttpBinding" bindingConfiguration="TransactionalWS" contract="IUserManager"/>
</client>
<bindings>
<wsHttpBinding>
<binding name="TransactionalWS" transactionFlow="true">
<reliableSession enabled="True"/>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
管理者として「CredentialsServiceHost.exe」ファイルを実行してから、「CredentialsManager.exe」ファイルを実行します。
セキュリティロールを作成してからユーザーを作成するまでこれは機能しましたが、Webサイトを実行しようとすると、次のメッセージが表示されますHTTPエラー403.14-禁止
Webサーバーは、このディレクトリの内容を一覧表示しないように構成されています。最も可能性の高い原因:•要求されたURLに対してデフォルトのドキュメントが設定されておらず、サーバーでディレクトリブラウジングが有効になっていない。
試すことができること:•ディレクトリの参照を有効にしたくない場合は、デフォルトのドキュメントが設定され、ファイルが存在することを確認してください。 •ディレクトリの参照を有効にします。 1. IIS高速インストールディレクトリに移動します。 2. appcmd set config /section:system.webServer/directoryBrowse/enabled:trueを実行して、サーバーレベルでディレクトリ参照を有効にします。 3. appcmd set config ["SITE_NAME"] /section:system.webServer/directoryBrowse/enabled:trueを実行して、サイトレベルでのディレクトリ参照を有効にします。
•サイトまたはアプリケーションの構成ファイルでconfiguration/system.webServer/directoryBrowse@enabled属性がtrueに設定されていることを確認します。