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 上一切正常...

应用程序名.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 客户端和终端服务器上运行应用程序时,我遇到了类似的问题,应用程序本身在客户端操作系统和 VHD 上运行良好。

至于解决这个问题,我建议以下..

  • 右键单击您的可执行文件,如果有选项,请以管理员身份运行它。如果这可行,那么您可以确定您在标准用户配置文件的存储位置上缺乏正确的权限。(即使您对您的 TS 拥有管理员权限,这也可能会有所不同。)
  • 您可以测试的另一个选项(如果尚不存在)将应用程序存储在您拥有最多访问权限的位置。这很可能是您的用户配置文件,并查看它是否从那里运行。
  • 作为第三个也是最后一个选项,如果可能的话,让对您的 TS 具有更高权限的人尝试运行该应用程序。

上述所有步骤都与权利有关,因为这是我的应用程序的问题。但是,这只是开始对其进行故障排除的一种方法。希望这会有所帮助。

于 2012-05-24T00:40:54.213 回答