2012-05-23 4 views
0

При установке приложения .NET на сервере терминалов, это исключение при запуске приложения:ConfigurationErrorsException на сервере терминалов

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> 
... 

Что происходит ??

ответ

1

Как вы, вероятно, обнаружили, ошибка, которую вы получаете, связана с тем, что приложение не может читать/писать из вашего XML-файла.

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

Я столкнулся с аналогичной проблемой при запуске приложения в клиенте Citrix и на сервере терминалов, само приложение побежал отлично от клиента OS и VHD.

Как для устранения этого, я хотел бы предложить следующее ..

  • щелкните правой кнопкой исполняемый файл, и если у вас есть возможность, запустить его в качестве администратора. Если это работает, то вы уверены, что вам не хватает правильных прав в том месте, где оно хранится с вашим стандартным профилем пользователя. (даже если у вас есть права администратора на вашем TS, это может все еще иметь значение.)
  • Еще один вариант, который вы могли бы проверить, если он еще не существует, сохранит приложение в том месте, где у вас больше всего доступ. Это, скорее всего, будет вашим профилем пользователя и посмотреть, будет ли он работать оттуда.
  • В качестве третьего и окончательного варианта, если это возможно, попросите кого-то с повышенными правами на вашем TS попытаться запустить приложение.

Все вышеуказанные шаги связаны с правами, поскольку это было проблемой для моего приложения. Но, конечно, это всего лишь один из способов начать поиск и устранение неполадок. Надеюсь, это поможет.