Saya memiliki Visual Studio 2013 Database Proyek yang membutuhkan versi modifikasi dari fastJSON sebagai referensi. Saya memilih Hasilkan DDL di properti referensi seperti yang ditunjukkan pada tangkapan layar ini:
Dan dalam file msbuild .sqlproj:
<Reference Include="fastJSON">
<HintPath>..\..\fastjson\output\net40\fastJSON.dll</HintPath>
<GenerateSqlClrDdl>True</GenerateSqlClrDdl>
</Reference>
Namun bin / debug / Project.sql tidak mengandung baris untuk CREATE ASSEMBLY fastJSON . . .
. Menambahkan perakitan secara manual berfungsi dan proyek saya kemudian akan digunakan dan dijalankan. Apa yang saya lakukan untuk mendapatkan Visual Studio untuk menyebarkan perakitan saya?
sql-server
sql-clr
visual-studio-2013
database-projects
Justin Dearing
sumber
sumber
False
, danModel Aware
diatur keTrue
, dan kita mendapatkanCREATE ASSEMBLY
output. Mungkin coba pengaturan itu dan lihat apa yang terjadi?Jawaban:
Saya bermain-main sedikit untuk mencari tahu apa yang dilakukan pengaturan ini ... ketika saya berkomentar, saya hanya menyebutkan apa pengaturan kami tanpa memahaminya; Saya bukan pimpinan proyek untuk migrasi kami ke Proyek Database, jadi saya tidak terbiasa dengan hal-hal kecil dari hal ini.
The
Model Aware
properti perlu ditetapkan untukTrue
.Properti ini didokumentasikan dengan buruk, tetapi dari pemahaman saya, mengaktifkannya akan mengekspos objek dalam perakitan ke model database sehingga mereka dapat digunakan dalam pembungkus SQLCLR (yaitu,
CREATE ... EXTERNAL ...
) dan referensi dapat diselesaikan. Jika proyek tidak menyertakan objek-objek ini dalam model, tidak mungkin mereka akan dituliskan dalam output. Juga, jika ada referensi ke objek dalam perakitan dan properti ini diatur keFalse
, proyek akan gagal dibangun.The
Generate Sql Script
properti saya sebutkan dalam keadaan yang sama dokumentasi. Ini mengontrol apakah anggota yang dapat dilihat secara publik dalam majelis secara otomatis dituliskan ke dalam output. Kami menonaktifkannya untuk mempertahankan fleksibilitas penggantian nama pembungkus SQLCLR dan secara selektif hanya menyertakan objek yang kita butuhkan. Cara Anda mengatur ini sesuai dengan kebijaksanaan Anda.Semoga itu membantu dokumentasi publik dari properti ini!
sumber
Model Aware
dan properti lainnya dapat diatur dengan mengklik kanan pada DLL yang dirujuk dan memilihProperties
.