我正在使用 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 生成创建脚本?