我正在使用Visual Studio 2012,我编写了一些CLR SQL程序集并将其部署在多个SQL Server上。我添加了调用Web服务的存储过程到此程序集,当我尝试重新部署我的程序集时,它在其中一个服务器上失败。 我有一个错误: 无法加载动态生成的序列化程序集。在某些托管环境中,组件加载功能受到限制,请考虑使用预生成的序列化程序。 我正在使用VS(MySolution.MyProject_Create.sql)生成的脚本创建汇编和存储过程。该脚本创建程序集:
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生成创建脚本?
答案 0 :(得分:1)
转到项目属性,构建选项卡,并将“生成序列化程序集”设置为“开”。