Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема со сборками  [new]
tempUserIg
Member [заблокирован]

Откуда:
Сообщений: 4
Уважаемые форумчане просьба помочь с проблемой.

Купили новый сервер, перенесли базу.

При работе приложения возникла проблема с установленными сборками, при попытке их использования выдается ошибка:

автор
A .NET Framework error occurred during execution of user-defined routine or aggregate "HTC_SyncWithSiteCatalog":
System.IO.FileLoadException: Невозможно загрузить файл или сборку "System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" или один из зависимых от них компонентов. Подписи сборок в хранилище главного узла и GAC различаются. (Исключение из HRESULT: 0x80131050) Дополнительные сведения см. в статье 949080 базы знаний Майкрософт.


Что имеем и что делали:

select @@version:
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

TRUSTWORTHY включали
владелец базы совпадает с владельцем master (выполнили EXEC sp_changedbowner 'sa')

Заранее спасибо за ответы.
16 окт 15, 17:27    [18289328]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
VAlexey
Member

Откуда:
Сообщений: 130
Проблема знакома.
Ваша БД использует сборку System.Drawing, которая не входит в "доверенный" список сборок.

Временное решение:
Если используется .Net 2.0-3.5, то:
CREATE ASSEMBLY [System.Drawing]
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE

Если используется .Net 4.0-4.6, то:
CREATE ASSEMBLY [System.Drawing]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE

Но будьте готовы что при установке любого обновления на .Net (через Windows Update например) сборка в GAC будет отличаться от вашей сборки и ошибка повторится
16 окт 15, 17:38    [18289372]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1446
tempUserIg,

select * from sys.dm_clr_properties

что показывает?
16 окт 15, 17:40    [18289386]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
VAlexey
Member

Откуда:
Сообщений: 130
Вернее нужно сделать ALTER
ALTER ASSEMBLY [System.Drawing]
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE

либо
ALTER ASSEMBLY [System.Drawing]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE
16 окт 15, 17:42    [18289399]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
tempUserIg
Member [заблокирован]

Откуда:
Сообщений: 4
VAlexey
ALTER ASSEMBLY [System.Drawing]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE


выдает

Сообщение 6257, уровень 16, состояние 1, строка 1
Операция CREATE ASSEMBLY для сборки "System.Drawing" была выполнена с ошибкой, поскольку сборка была создана для неподдерживаемой версии среды CLR.

VAlexey
ALTER ASSEMBLY [System.Drawing]
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE


помогло, ошибка исчезла, но на сайт перестали загружаться картинки
16 окт 15, 17:58    [18289470]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
tempUserIg
Member [заблокирован]

Откуда:
Сообщений: 4
felix_ff
tempUserIg,

select * from sys.dm_clr_properties

что показывает?


directory C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
version v2.0.50727
state CLR is initialized
16 окт 15, 17:59    [18289474]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
tempUserIg,

надо просто перепубликовать сборки. В предыдущей публикации на другом сервере системные сборки были другой версии, на это ругается.
16 окт 15, 19:52    [18289898]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
tempUserIg
Member [заблокирован]

Откуда:
Сообщений: 4
Владислав Колосов
надо просто перепубликовать сборки. В предыдущей публикации на другом сервере системные сборки были другой версии, на это ругается.


не совсем понял вас, сборки перенесены на сервер тех же самых версий, пробовали перепубликовывать их (с помощью запуска скрипта генерируемого с помощью "Создать сценарий для сборки используя CREATE").

По поводу того, что писал выше: ошибка исчезла, но на сайт перестали загружаться картинки. Может нужно зарегистрировать ту сборку Drawing, что была изначально, в GAC? Но проблема в том, что самих сборок нет, есть только скрипт в котором файл в зашифрованном виде.
17 окт 15, 13:14    [18291450]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
VAlexey
Member

Откуда:
Сообщений: 130
автор
на сайт перестали загружаться картинки

А какое сообщение из логов вам подсказало, что тут проблема в SQL Server?
17 окт 15, 15:37    [18291670]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
tempUserIg,

Если у вас нет скомпилированных DLL или исходников - пиши пропало.
На старом сервере был дотнет другой версии, вот база и не может сборки использовать. Она фреймворковские сборки тянет в базу тоже, если они требуется вашим пользовательским.
17 окт 15, 23:52    [18292625]     Ответить | Цитировать Сообщить модератору
 Re: Проблема со сборками  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
С другой стороны, мы так не делали, но попробуйте удалить дотнетовские сборки из базы и затем создайте их там заново, может получится.
18 окт 15, 00:39    [18292698]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить