Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SSDT发布部署后脚本,为XmlSerializer创建程序集_C#_.net_Sqlclr_Sql Server Data Tools - Fatal编程技术网

C# SSDT发布部署后脚本,为XmlSerializer创建程序集

C# SSDT发布部署后脚本,为XmlSerializer创建程序集,c#,.net,sqlclr,sql-server-data-tools,C#,.net,Sqlclr,Sql Server Data Tools,如何让“创建程序集”引用生成输出路径 我有一个引用web服务的SQL CLR 我在部署后脚本中有一个条目 CREATE ASSEMBLY TestWebServiceClientXML from N'\\TestServer2012\clrdeploy\Test\TestWebServiceClient.XmlSerializers.dll' WITH permission_set = EXTERNAL_ACCESS 目前,这一切都很好。我分别手动构建TestWebServiceClient,

如何让“创建程序集”引用生成输出路径

我有一个引用web服务的SQL CLR

我在部署后脚本中有一个条目

CREATE ASSEMBLY TestWebServiceClientXML from N'\\TestServer2012\clrdeploy\Test\TestWebServiceClient.XmlSerializers.dll' WITH permission_set = EXTERNAL_ACCESS
目前,这一切都很好。我分别手动构建TestWebServiceClient,将dll和XMLSerializer dll构建为SQL可以看到的共享。然后,当我使用引用此文件的CLR发布数据库项目时,部署后脚本使用我刚刚从共享中构建的XMLSerializers dll

如何使此场景与生成服务器一起工作?所有生成输出(包括XMLSerializers dll)都将转到生成服务器上的单个生成输出路径,当部署后脚本运行时,它将从共享“\TestServer2012\clrdeploy\Test\”上的旧版本创建程序集,因为这是硬编码的,而不是刚生成的版本

最终,我希望它在发布管理中运行。以前有人这样做过吗?

使用,让生成服务器将生成文件夹的路径作为SQLCMD变量传递给。然后修改部署后脚本,使其如下所示:

CREATE ASSEMBLY TestWebServiceClientXML from N'$(BuildFolder)\clrdeploy\Test\TestWebServiceClient.XmlSerializers.dll' WITH permission_set = EXTERNAL_ACCESS