#c# #ssis #json.net #gac
#c# #ssis #json.net #gac
Вопрос:
Я использую newtonsoft dll для анализа данных json в задаче сценария SSIS. Это работает, как и ожидалось, на моем локальном компьютере, но при развертывании на SQL Server и запуске из задания SQL Server выдает ошибку :
«Целью вызова было вызвано исключение»
Я пытаюсь установить библиотеку dll newtonsoft в глобальный кэш сборки. Для этого мне нужно установить Newtonsoft на сервер, например, сохранить его в каталоге C. Затем установите его в глобальный кэш сборок с помощью gacutil.
C:Newtonsoft.Json.12.0.3libnet45Newtonsoft.Json.dll
gacutil /i Newtonsoft.Json.dll
В задаче скрипта C # код ссылается на dll, как показано ниже?
static ScriptMain()
{
AppDomain.CurrentDomain.AssemblyResolve = new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
string path = @"C:Newtonsoft.Json.12.0.3libnet45";
return System.Reflection.Assembly.LoadFile(System.IO.Path.Combine(path, "Newtonsoft.Json.dll"));
}
Ответ №1:
Вам не нужно устанавливать его в GAC, если вы используете отражение, вам просто нужно убедиться, что DLL находится по тому же пути на сервере, на который вы ссылаетесь в своем коде
C:Newtonsoft.Json.12.0.3libnet45