2

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

4

1 回答 1

1

转到项目属性,构建选项卡,然后将“生成序列化程序集”设置为开。

于 2013-10-21T12:40:10.100 回答