0

在 VS2010 数据库项目中,我引用了一个 CLR 项目“MyProject”,它使用构建选项“生成序列化程序集”。所以,一代MyProject会生成MyProject.dll和MyProject.XmlSerializers.dll。

当我在我的数据库项目上选择“部署”时,出现以下错误: MyDatabase.dbschema(0,0): Error TSD00562: If this deployment is executed, [MyProject.XmlSerializers] 将被删除并且不会重新创建。

如何解决此错误?

谢谢你。

4

2 回答 2

0

在我的示例程序集中名称是 CallWorkflowServiceCLR.dll 和 CallWorkflowServiceCLR.XmlSerializers.dll

我在目标服务器(“my_server_name”)上创建并共享文件夹“D:\CLRProcedure”,专门用于部署。

在 Visual Studio 中的项目属性/构建事件/构建后事件命令行中 - 我写道: xcopy /Q /Y "$(TargetDir)*.dll" "\my_server_name\CLRProcedure\"

然后在 PostDeployScript.sql 中写道:

if exists (select * from sys.assemblies 
where name = 'CallWorkflowServiceCLR.XmlSerializers')
DROP ASSEMBLY [CallWorkflowServiceCLR.XmlSerializers]

CREATE ASSEMBLY [CallWorkflowServiceCLR.XmlSerializers] 
from 'D:\CLRProcedure\CallWorkflowServiceCLR.XmlSerializers.dll' 

PS:在我的项目属性中:

Build / Generate serialization assembly = ON
Database / Permisssion level = EXTERNAL

此外,您应该从有权使用目标服务器的用户帐户启动 Visual Studio

于 2014-03-28T13:49:51.453 回答
0

解决方案是一组 Visual C# SQLCLR 数据库项目,关于 Build 属性“生成序列化程序集”为“ON”参见http://msdn.microsoft.com/en-us/library/vstudio/kb4wyys2(v=vs. 100).aspx。问候拉科。

于 2013-07-25T15:34:13.753 回答