Ale*_*exS 2 deployment wcf .net-assembly visual-studio-2012 sql-server-data-tools
我有一个旧项目,它使用WCF来为SQL Server提供C#CLR触发器.我总是通过运行脚本来安装它.
但是我决定转到VS 2012上的SSDT项目.我从空数据库导入了项目.WCF功能取决于.net框架中的几个程序集
SMdiagnostics
System.Web
System.Messaging
system.identitymodel
system.identitymodel.selectors
microsoft.transactions.bridge
System.ServiceModel
Run Code Online (Sandbox Code Playgroud)
所以我在项目中引用了这些dll.我还将它们添加到Assemblies子文件夹下的项目中.
但是,当我创建部署脚本时,这些程序集不在其中.
所以当我尝试将脚本发布到数据库时,我收到一个错误.
程序集'system.servicemodel,version = 3.0.0.0,culture = neutral,publickeytoken = b77a5c561934e089.' 在SQL目录中找不到.
如果我尝试创建自定义脚本以将程序集添加到db:
create assembly [SMdiagnostics]
from 'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMdiagnostics.dll'
with permission_set = unsafe
go
Run Code Online (Sandbox Code Playgroud)
我收到错误
错误:SQL70502:程序集源无效.只允许二进制文字.
如何从.NET添加程序集以与我的SSDT项目一起部署?
谢谢.
小智 9
要将.NET程序集添加到SSDT项目:
DACPAC(SSDT构建的结果)不允许CREATE ASSEMBLY使用路径,因为不包含DLL并且无法保证其他主机上的路径.因此,DACPAC中只允许嵌入的二进制文字.
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |