Я перемещаю три Windows Services (.NET 3.5) из Windows Server 2003R2 в Windows Server 2012 R2 (.NET 4.5).C#, не читающий значения реестра из Wow6432Node в Windows Server 2012 64-разрядные
Первые два прошли хорошо. Чтение настроек реестра с [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ MyCompany \ MyApplication].
Теперь here's забавный материал - третий работает только тогда, когда я храню настройки в [HKEY_LOCAL_MACHINE \ SOFTWARE \ MyCompany \ MyApplication] (whitout Wow6432Node)?
И, если я пытаюсь запустить службу с настройками в 32-битном регистре считывает параметры в порядке, но я получаю эту ошибку привязки сборки вместо: System.BadImageFormatException: Не удалось загрузить файл или сборку «Oracle.DataAccess , Version = 4.121.2.0, Culture = neutral, PublicKeyToken = 89b483f429c47342 'или одна из его зависимостей. Была сделана попытка загрузить программу с неправильным форматом. Остальные два, используя одну и ту же DLL, отлично работают.
Любые идеи? Что в третьей службе Windows отличается?
Поскольку все приложения используют тот же код для чтения реестра, я не думаю, что это проблема. Ее код (простое) в любом случае.
private string getRegistrySetting(string keyName)
{
string softwareSubkeyName = "SOFTWARE";
using (RegistryKey softwareSubkey = Registry.LocalMachine.OpenSubKey(softwareSubkeyName, false))
{
string lmSubkeyName = "MyCompany\\MyApplication;
using (RegistryKey lmSubkey = softwareSubkey.OpenSubKey(lmSubkeyName))
{
return lmSubkey.GetValue(keyName).ToString();
}
}
}
построить службу с помощью x86 и проверить ... –