SQL Server の C# CLR トリガーから WCF を使用する古いプロジェクトがあります。私はいつもスクリプトを実行してインストールしていました。
しかし、VS 2012 の SSDT プロジェクトに移ることにしました。空のデータベースからプロジェクトをインポートしました。WCF の機能は、.net フレームワークのいくつかのアセンブリに依存しています
SMdiagnostics
System.Web
System.Messaging
system.identitymodel
system.identitymodel.selectors
microsoft.transactions.bridge
System.ServiceModel
したがって、プロジェクトでこれらのdllへの参照があります。また、Assemblies サブフォルダーの下のプロジェクトに追加しました。
ただし、展開スクリプトを作成すると、これらのアセンブリは含まれません。
そのため、スクリプトをデータベースに発行しようとすると、エラーが発生します。
アセンブリ 'system.servicemodel、バージョン = 3.0.0.0、カルチャ = ニュートラル、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
エラーが表示されます
エラー: SQL70502: アセンブリ ソースが無効です。バイナリ リテラルのみが許可されます。
SSDT プロジェクトと共に展開するアセンブリを .NET から追加するにはどうすればよいですか?
ありがとう。