Надстройка Office Excel 2007 не считывает файл app.config в 64-разрядных компьютерах Office 2010 с 32-разрядной версией Office 2010 при развертывании - PullRequest
0 голосов
/ 25 августа 2011

Мое приложение работает следующим образом: 1. Надстройка Office 2007 Excel считывает информацию из файла App.Config.
2. Использует эту информацию для различных целей в приложении.

У меня возникла странная проблема в 64-битных и 64-битных машинах Win7 и Office 2010 при развертывании этой надстройки.Нет необходимости создавать новую надстройку для Office 2010, так как ваша надстройка Office 2007 будет там совместима.
Файл конфигурации не читается, и нет никакой информации для использования, поэтому впоследствии приложение завершается сбоем.Это происходит только в сценарии развертывания.

Пожалуйста, обратитесь к приложенному образцу надстройки, который создан в соответствии с моими требованиями.
1. Вам необходимо иметь файл C: \ Test.log перед запуском этого проекта.Это сохранит некоторую информацию в виде журнала.
2. Создайте проект и создайте проект установки отдельно.Файл установки будет доступен в $ {proj_folder} \ ExcelAddInSetupProject \ Debug.
3. В режиме отладки все будет работать нормально.При установке файла установки файл конфигурации не будет прочитан.
4. В частности, следующие коды не работают.
string [] names = ConfigurationManager.AppSettings.GetValues ​​("Name");
if(names! = null && names.Length> 0)
{
name = names [0];
}
или
string un = System.Configuration.ConfigurationSettings.AppSettings ["Name«];

Не могли бы вы сообщить мне, почему это происходит?Есть ли какое-то решение для этого?

1 Ответ

0 голосов
/ 19 апреля 2012

Код, используемый для получения строк конфигурации из app.config:

string value = ConfigurationManager.AppSettings.Get(keyName);

Единственное, что нужно сделать, это убедиться, что app.config находится в том же проекте, что и надстройка, но не в разделе Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...