6

Mặc dù tôi có thể tìm thấy (trên web) rất nhiều thông tin về PreDeployPostDeployBuild Action cho SQL script trong một Visual Studio 2012 dự án Cơ sở dữ liệu và tôi hiểu rằng None không biên dịch hoặc bao gồm các kịch bản khi triển khai, xin vui lòng có thể bất kỳ một cách dứt khoát tư vấn hoặc trực tiếp tôi để một bài viết mà không dứt khoát xác định sự tinh tế của BuildCompile?Sự khác biệt giữa "Xây dựng", "biên dịch" và "Không" Xây dựng các hoạt động trong dự án Cơ sở dữ liệu Visual Studio

giả thô của tôi là cả trong số này sẽ biên dịch chống lại các lược đồ, nhưng chỉ Build sẽ được triển khai. Điều này có đúng không? Điều tôi muốn là cài đặt chính xác để xác thực các kịch bản lệnh của tôi dựa trên lược đồ hiện tại (và gây ra lỗi xây dựng trên cấu trúc lược đồ không hợp lệ) nhưng KHÔNG triển khai với cơ sở dữ liệu xuất bản hoặc hiển thị trong phiên so sánh lược đồ.

+0

BTW, câu trả lời chi tiết đẹp trong [this] (http://stackoverflow.com/questions/145752/what-are-the-various-build-action-settings-in-visual-studio-project-properties) bài đăng không nằm trong ngữ cảnh của dự án cơ sở dữ liệu. – Dib

+0

Vâng, "Xây dựng" trong ngữ cảnh của một tập lệnh triển khai/triển khai trước sẽ chỉ cho phép bạn có một tập lệnh. Phần còn lại là "bao gồm" cho tập lệnh đó. Bạn không muốn thử thiết lập các tệp đó để "xây dựng" vì trình biên dịch sẽ cố gắng xây dựng chúng dưới dạng các bảng/khung nhìn/các đối tượng khác. Tôi đã không cố gắng để thiết lập chúng để biên dịch trước vì vậy không có ý tưởng những gì sẽ làm. Tôi thường để chúng là "Không" và kiểm tra chúng cẩn thận khi viết chúng. Bạn có thể viết một số thử/bắt logic xung quanh chúng để giúp bắt lỗi. Họ sẽ không triển khai w/DB xuất bản trừ khi bạn đưa chúng vào. –

Trả lời

2

Trong một dự án cơ sở dữ liệu, "Xây dựng" được sử dụng cho các tập tin sql và "biên dịch" được sử dụng cho C# hoặc VB (ví dụ SQL CLR) tập tin. Khi xây dựng một dự án cơ sở dữ liệu, đầu ra là một tệp dacpac chứa các tệp sql "Xây dựng" đã xử lý và tệp (assembly) .NET có chứa các tệp C# hoặc VB được biên dịch.

Các tệp được đánh dấu là "Không" chỉ bị bỏ qua.

Các vấn đề liên quan