2016-06-13 5 views
-2

私はVisual Studio 2013とWindows 7を使用しています。ユーザーがフォームを閉じたときにウィンドウの位置を保存しています。「Settings.Save」に管理者権限が必要なのはなぜですか?

これは私のApp.configファイルである:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
     <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <section name="Test.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> 
     </sectionGroup> 
    </configSections> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/> 
    </startup> 
    <userSettings> 
     <Test.My.MySettings> 
      <setting name="InitialLocation" serializeAs="String"> 
       <value/> 
      </setting> 
      <setting name="TelefonosConsultados" serializeAs="Xml"> 
       <value> 
        <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
         <string></string> 
        </ArrayOfString> 
       </value> 
      </setting> 
      <setting name="Server" serializeAs="String"> 
       <value>localhost</value> 
      </setting> 
      <setting name="Port" serializeAs="String"> 
       <value>3306</value> 
      </setting> 
      <setting name="Database" serializeAs="String"> 
       <value>dwh</value> 
      </setting> 
      <setting name="User" serializeAs="String"> 
       <value>root</value> 
      </setting> 
      <setting name="Password" serializeAs="String"> 
       <value>password</value> 
      </setting> 
     </Test.My.MySettings> 
    </userSettings> 
</configuration> 

答えて

0

[プロジェクトのプロパティ]ウィンドウを経由して、プロジェクトにSettingsを追加するために行く、Scopeオプションがあります。 Userスコープの代わりにApplicationスコープを使用している場合は、すべてののユーザーを特定のコンピュータに保存しています。管理者だけがすべてのユーザーの設定を指定できる必要があります。そのため例外です。 .Netはその設定を管理者アカウントのみがアクセスできる場所に保存するため、保存を完了するために高度が必要になります(プロセスはプロンプトを表示しません)。

代わりにUserスコープを選択すると、高度は必要なくなり、設定は不平を言わずに保存されます。ただし、そのユーザーにのみ新しい設定が表示されます。

+0

私は、この私の持っている 'App.config'ファイルで ' User'スコープとしての私の 'Settings'を持っている: ' <設定名= "サーバー" serializeAs = "文字列">ユーザ設定で localhostの ' –

+0

、またあなたのアプリその店のためのユーザーのApp_Dataフォルダ内の設定ファイルがあるはずです設定値。ユーザーが自分の設定をまだ保存していない場合、App.Configで表示されているのはデフォルトです。 –

+0

それはまさに私の問題です。私がコンパイルしたプログラムを 'Debug'フォルダから実行すると、権限がないというエラーが表示され、管理者権限でプログラムを実行するとうまく動作します。同様に、IDE内でプログラムのデバッグを開始すると、管理者の資格情報でIDEを再起動するよう求めるメッセージが表示されます。奇妙なことですか? –

関連する問題