2013-10-21 38 views
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生成創建腳本嗎?

回答

1

轉到項目屬性,生成選項卡,並將「生成序列化asssembly」設置爲On。

+0

它被設置爲「ON」,並且正在生成序列化程序集,但它僅包含在SQL腳本文件中。 – Konrad

+0

你是否在尋找一個命令來生成這個文件?有一個名爲sgen.exe的工具http://msdn.microsoft.com/en-us/library/bk3w6240.aspx – Reda

+0

不,如我所說,我成功地生成了這個文件,我只是想知道是否可以包含在MySolution.MyProject_Create.sql中爲此XmlSerializers dll文件創建ASSEMBLY由Visual Studio生成的腳本(如果可能,請執行此操作) – Konrad

相關問題