0

ターミナルサーバーに.netアプリケーションをインストールすると、アプリの起動時に次の例外がスローされます。

System.Configuration.ConfigurationErrorsExceptionMessage = Index 1 is out of range.FullText=
 System.Configuration.ConfigurationErrorsException: Index 1 is out of range.
   at System.Configuration.ConfigurationElementCollection.BaseGet(Int32 index)
   at System.Configuration.ConnectionStringSettingsCollection.get_Item(Int32 index)

AppName.exe.configにある接続文字列が見つかりません。ただし、構成ファイルは.exeファイルの隣の正しい場所に配置され、接続文字列は.configファイルに存在します。このエラーはターミナルサーバーでのみ発生し、XP、Vista、win7ではすべて正常に動作します...

Appname.exe.config:

<?xml version="1.0"?>
<configuration>
    <configSections>
        ...
    </configSections>
    <connectionStrings>
        <add name="..."
            connectionString="..." />
        <add name="..."
            connectionString="..." />
    </connectionStrings>
...

どうしたの ??

4

1 に答える 1

1

おそらくお気づきかもしれませんが、発生するエラーは、アプリケーションがxmlファイルから読み取り/書き込みできないことに関連しています。

http://msdn.microsoft.com/en-us/library/system.configuration.configurationerrorsexception(v=vs.80).aspx

citrixクライアントとターミナルサーバーでアプリケーションを実行しているときに同様の問題に直面しました。アプリ自体はクライアントOSとVHDから正常に実行されました。

これのトラブルシューティングに関しては、次のことをお勧めします。

  • 実行可能ファイルを右クリックし、オプションがある場合は、管理者として実行します。それが機能する場合は、標準のユーザープロファイルで保存されている場所に対する正しい権限が不足していることを確認できます。(TSの管理者権限を持っている場合でも、これによって違いが生じる可能性があります。)
  • テストできるもう1つのオプションは、まだ存在しない場合は、最もアクセスしやすい場所にアプリケーションを保存します。これはおそらくユーザープロファイルであり、そこから実行されるかどうかを確認します。
  • 3番目の最後のオプションとして、可能であれば、TSの昇格された権限を持つ誰かにアプリを試してもらいます。

これは私のアプリの問題であったため、上記のすべての手順は権利に関連しています。しかしもちろん、それはトラブルシューティングを開始するための1つの方法にすぎません。これがお役に立てば幸いです。

于 2012-05-24T00:40:54.213 に答える