Я добавил приложение в скрипты и добавил ссылки на сборки, которые имеют версию v2.0.50727. Таким образом, при запуске файла скриптов он возвращается, поскольку сборка смешанного режима построена против версии «v2.0.50727» среды выполнения и не может быть загружена в 4.0 runtime.Setting attribute useLegacyV2RuntimeActivationPolicy = «true» в app.config может решить проблему в asp .net. но в скриптах он не работает. Дальнейший поиск показывает, что выше атрибута useLegacyV2RuntimeActivationPolicy = "true" следует добавить как scriptcs.exe.config. У меня есть файл приложения с именем FMUpgrade.csx и как мы можем ссылаться на этот файл scriptcs.exe.config в файле FMUpgrade.csx.scriptcs docs ничего не говорит о файле scriptcs.exe.config. Также добавлен файл program.exe.config с приложением .config, но все равно не удачный.scriptcs Ошибка сборки смешанного режима
ответ
После долгих исследований я получил обходное решение вышеупомянутой проблемы. Используя класс ExeConfigurationFileMap, мы смогли получить значения ключей из app.config, не имея возможности обойти поддерживаемую ошибку времени выполнения, вызванную ошибкой сборки смешанного режима. Сервер server = новый сервер (новый ServerConnection (con)); server.ConnectionContext.ExecuteNonQuery (сценарий); Ошибка возникает при выполнении инструкции ExecuteNonQuery. Так что перед выполнением инструкции
если (RuntimePolicyHelper.LegacyV2RuntimeEnabledSuccessfully) server.ConnectionContext.ExecuteNonQuery (сценарий);
Решение находится ниже с использованием System.Runtime.CompilerServices; с использованием System.Runtime.InteropServices; Публичный статический класс RuntimePolicyHelper { Публичный статический bool LegacyV2RuntimeEnabledSuccessfully {get; частный набор; }
static RuntimePolicyHelper()
{
ICLRRuntimeInfo clrRuntimeInfo =
(ICLRRuntimeInfo)RuntimeEnvironment.GetRuntimeInterfaceAsObject(
Guid.Empty,
typeof(ICLRRuntimeInfo).GUID);
try
{
clrRuntimeInfo.BindAsLegacyV2Runtime();
LegacyV2RuntimeEnabledSuccessfully = true;
}
catch (COMException)
{
// This occurs with an HRESULT meaning
// "A different runtime was already bound to the legacy CLR version 2 activation policy."
LegacyV2RuntimeEnabledSuccessfully = false;
}
}
[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("BD39D1D2-BA2F-486A-89B0-B4B0CB466891")]
private interface ICLRRuntimeInfo
{
void xGetVersionString();
void xGetRuntimeDirectory();
void xIsLoaded();
void xIsLoadable();
void xLoadErrorString();
void xLoadLibrary();
void xGetProcAddress();
void xGetInterface();
void xSetDefaultStartupFlags();
void xGetDefaultStartupFlags();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void BindAsLegacyV2Runtime();
}
} using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; public static class RuntimePolicyHelper { public static bool LegacyV2RuntimeEnabledSuccessfully {get; частный набор; }
static RuntimePolicyHelper()
{
ICLRRuntimeInfo clrRuntimeInfo =
(ICLRRuntimeInfo)RuntimeEnvironment.GetRuntimeInterfaceAsObject(
Guid.Empty,
typeof(ICLRRuntimeInfo).GUID);
try
{
clrRuntimeInfo.BindAsLegacyV2Runtime();
LegacyV2RuntimeEnabledSuccessfully = true;
}
catch (COMException)
{
// This occurs with an HRESULT meaning
// "A different runtime was already bound to the legacy CLR version 2 activation policy."
LegacyV2RuntimeEnabledSuccessfully = false;
}
}
[ComImport]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("BD39D1D2-BA2F-486A-89B0-B4B0CB466891")]
private interface ICLRRuntimeInfo
{
void xGetVersionString();
void xGetRuntimeDirectory();
void xIsLoaded();
void xIsLoadable();
void xLoadErrorString();
void xLoadLibrary();
void xGetProcAddress();
void xGetInterface();
void xSetDefaultStartupFlags();
void xGetDefaultStartupFlags();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
void BindAsLegacyV2Runtime();
}
}
- 1. Исключение сборки смешанного режима
- 2. Подписание сборки C++ смешанного режима
- 3. Ошибка сборки сборки смешанного режима в F # Интерактивный
- 4. Проблема сборки смешанного режима с библиотекой классов
- 5. Аутентификация смешанного режима IIS7
- 6. Невозможно загрузить сборку смешанного режима
- 7. Visual Studio 8: Время сборки в сборках смешанного режима
- 8. vs2010 Сборки смешанного режима в пользовательских действиях установщика Windows
- 9. Обфускация сборки смешанного режима или других средств защиты
- 10. Загрузка смешанного режима в asp.net
- 11. сборка смешанного режима построена против ошибки «v2.0.50727»
- 12. ScriptCS с Блистательной
- 13. сборка смешанного режима построена против версии 'v1.1.4322'
- 14. Ошибка сборки смешанного режима в библиотеке классов .NET 4.5 Обработка проекта SSIS 2012
- 15. Sencha CMD - Ошибка сборки: разметка x-компиляции и микропрограммы смешанного режима в настоящее время не поддерживается
- 16. Преобразование проекта приложения смешанного режима (.exe) в динамическую библиотеку смешанного режима (.dll)
- 17. RVM Переход из режима смешанного режима в несколько пользователей
- 18. Задача при запуске приложения смешанного режима
- 19. C++ COM C# Interoperation смешанного режима
- 20. Как написать данные смешанного режима JSON?
- 21. Проверка подлинности ASP.NET MVC и смешанного режима
- 22. Библиотека смешанного режима и CRT-зависимостей - ПОМОЩЬ
- 23. Аутентификация смешанного режима (SQLMembershipProvider) в TFS 2010
- 24. Zebra ZPL код смешанного режима QR данные
- 25. сборка смешанного режима в .NET 4
- 26. Почему сильное управление версиями не соблюдается в сборке смешанного режима?
- 27. Ошибка смешанного содержимого
- 28. Parse.com Ошибка смешанного содержимого
- 29. Ошибка смешанного содержимого Wordpress
- 30. Catching Ошибка смешанного содержимого