在VS2010数据库项目中,我引用了一个CLR项目“MyProject”,它使用构建选项“Generate serialization assembly”。因此,一代MyProject会生成MyProject.dll和MyProject.XmlSerializers.dll。
当我在数据库项目中选择“Deploy”时,出现此错误: MyDatabase.dbschema(0,0):错误TSD00562:如果执行此部署,将删除[MyProject.XmlSerializers]而不会重新创建。
如何解决此错误?
谢谢。
答案 0 :(得分:0)
解决方案是一组Visual C#SQLCLR数据库项目, 在Build属性“Generate Serialization assembly”到“ON” 见http://msdn.microsoft.com/en-us/library/vstudio/kb4wyys2(v=vs.100).aspx。 关心Laco。
答案 1 :(得分: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'
P.S。:在我项目的属性中:
Build / Generate serialization assembly = ON
Database / Permisssion level = EXTERNAL
此外,您应该从有权使用目标服务器的用户帐户启动Visual Studio