2
我正在使用Visual Studio 2012,並且編寫了一些CLR SQL程序集並將其部署到了多個SQL Server上。我添加了將Web服務調用到此程序集的存儲過程,當我嘗試重新部署我的程序集時,它在其中一臺服務器上失敗。 我有錯誤: 無法加載動態生成的序列化程序集。在某些主機環境中,組裝加載功能受到限制,請考慮使用預先生成的序列化程序。 我使用VS(MySolution.MyProject_Create.sql)生成的腳本創建程序集和存儲過程。這個腳本創建組件:在Visual Studio 2012中生成用於創建XmlSerializers.dll的腳本
CREATE ASSEMBLY [AssemblyName]
AUTHORIZATION [dbo]
FROM 0xx4D5A9(....)
WITH PERMISSION_SET = EXTERNAL_ACCESS;
但是沒有用於創建XmlSerializers.dll文件中沒有命令,所以我必須將此文件複製到遠程服務器,並運行命令:
CREATE ASSEMBLY [AssemblyName.XmlSerializers] FROM
'C:\path\AssemblyName.XmlSerializers.dll'
WITH PERMISSION_SET = SAFE
然後腳本XmlSerializers .dll手動以避免將此文件複製到其他服務器。
這是可能改變一些設置,以便Visual Studio也會爲XMLSerializers.dll生成創建腳本嗎?
它被設置爲「ON」,並且正在生成序列化程序集,但它僅包含在SQL腳本文件中。 – Konrad
你是否在尋找一個命令來生成這個文件?有一個名爲sgen.exe的工具http://msdn.microsoft.com/en-us/library/bk3w6240.aspx – Reda
不,如我所說,我成功地生成了這個文件,我只是想知道是否可以包含在MySolution.MyProject_Create.sql中爲此XmlSerializers dll文件創建ASSEMBLY由Visual Studio生成的腳本(如果可能,請執行此操作) – Konrad