2012-08-31 34 views
12

Đối với VS2010 và trước khi tôi sử dụng Dự án Triển khai Web (WDP) để giúp gói trang web của tôi để triển khai sản xuất. Tôi đã có một kịch bản MSBuild biên dịch các giải pháp trong chế độ phát hành. Một đầu ra của đó là các tệp trang web sẵn sàng sản xuất được biên dịch và làm sạch bằng WDP.Gọi xuất bản từ msbuild cho studio trực quan 2012

Tôi thấy cho năm 2012 WDP đã bị xóa và tab mới đã được tạo trong thuộc tính cho ứng dụng web. Các tùy chọn là như nhau, nhưng bây giờ việc gọi điều này được thực hiện thông qua tùy chọn Publish (trước khi bạn vừa biên dịch trong chế độ phát hành).

Vì vậy, câu hỏi là vấn đề này. Từ một kịch bản MSBuild, làm thế nào để tôi gọi một hoạt động Publish? Tôi đã tìm thấy một số bài đăng cũ ...

msbuild /target:publish 

sẽ thực hiện thủ thuật. Nhưng điều đó dường như không làm việc vào năm 2012.

Ngoài ra, tôi đã cố gắng trong nhiệm vụ msbuild tôi ...

<MSBuild Properties="Configuration=Publish;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\MySolution.sln"></MSBuild> 

... nhưng msbuild chỉ báo cáo "cấu hình không rõ".

Làm cách nào để có thể có msbuild chạy tùy chọn xuất bản từ dòng lệnh?

+0

thử: http://stackoverflow.com/q/3097489/1162102 –

Trả lời

3

Tôi không thể làm cho xuất bản chạy, nhưng nhìn vào đầu ra từ Visual Studio tôi nghĩ rằng tôi đã tìm thấy một giải pháp thay thế. Hóa ra thư mục obj \ Release \ AspnetCompileMerge có một phiên bản có thể triển khai và sạch sẽ của dự án. Nó chứa các tệp byte giống hệt nhau vào thư mục đầu ra cuối cùng.

tôi đã phải thay đổi kịch bản msbuild tôi để bao gồm các tùy chọn DeployOnBuild ...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild> 
17

Dường như hiện nay có một số lựa chọn khác cho xuất bản từ dòng lệnh. Cụ thể một cái gì đó dọc theo dòng sau đây dường như có thể ngay bây giờ với một số cập nhật RC để Visual Studio 2012.

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName 

Để biết thêm chi tiết kiểm tra this post by Scott Hanselman và kiểm tra phần trên Publishing.

+0

Bạn cũng có thể cần phải thêm VisualStudioVersion = 11.0 tùy thuộc vào cấu hình của bạn –

+0

Cảm ơn bạn đã phản hồi @SebastianK. Bạn có biết khi nào lá cờ đó là cần thiết không? –

+1

Có, đây là thông tin thêm về tham số đó - trong trường hợp của tôi điều này là cần thiết vì VS2010 đã được cài đặt trên hộp xây dựng: http://sedodream.com/PermaLink,guid,a5894bad-f2a1-441a-a5b2-74f16c6cf8aa.aspx –

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