2015-05-01 17 views
7

Tôi đang cố gắng để tạo ra một gói phần mềm triển khai web bằng msbuild thông qua dòng lệnh. Tôi đã tìm kiếm khắp nơi và thấy lệnh sauLàm thế nào để tạo MSdeploy Package sử dụng MSBuild cho tất cả các file trong thư mục dự án này

msbuild myproject.csproj /t:package 

Mặc dù nó làm việc cho tôi nhưng nó mang lại cho tôi chỉ gì visual studio cho chúng ta trở lại khi chúng ta tạo ra gói triển khai web thông qua Bao bì/Xuất bản tab Web với "chỉ file cần thiết để chạy ứng dụng này "tùy chọn được chọn từ trình đơn thả xuống. Nhưng tôi muốn gói triển khai web của tôi trông giống hệt như những gì tôi nhận được khi tôi chọn "Tất cả các tệp trong thư mục dự án này" tùy chọn từ trình đơn thả xuống. Tôi đã đi qua các liên kết như thế này http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx. Nhưng tôi tự hỏi rằng tôi có thực sự cần phải tùy chỉnh tệp .csproj của tôi (cách nó được mô tả trong bài đăng đó) vì tất cả những gì tôi muốn, là một dòng lệnh (rõ ràng phức tạp hơn so với cái tôi đã đề cập ở trên) cho msbuild có thể bắt chước các "Tất cả các file trong thư mục dự án này" tùy chọn thao tác trên "thư mục bin của gói triển khai web" với tất cả các dlls rằng đang có trong thư mục bin ban đầu của dự án của tôi và tạo cho tôi một gói toàn diện hơn.

Trả lời

5

Trong dòng lệnh của bạn chỉ cần thêm /p:FilesToIncludeForPublish=AllFilesInProjectFolder để gọi msbuild của bạn. Trong khi bạn đang ở đó, bạn cũng có thể muốn vượt qua trong một cấu hình cụ thể để xây dựng /p:Configuration=Release

Vì vậy:

msbuild myproject.csproj /t:package /p:FilesToIncludeForPublish=AllFilesInProjectFolder /p:Configuration=Release 

Mẹo: Nhiều người trong số các thiết lập này được lưu trữ trong tập tin dự án của bạn. Mở tệp của bạn trong Notepad và so sánh các thay đổi được thực hiện khi bạn đã thay đổi một số cài đặt. Bất kỳ mục nào có trong một <propertygroup> thường có thể được truyền qua dòng lệnh cũng như sử dụng tham số /p:.

+0

Cảm ơn rất nhiều cho câu trả lời của bạn tôi sẽ thử nó và cho bạn biết, khi đó bạn có thể xin hãy giải thích chút thêm về những gì bạn nói trong câu trả lời của bạn như "Mở tập tin của bạn trong Notepad và so sánh những thay đổi được thực hiện khi bạn đã thay đổi một số cài đặt ". Tôi thực sự đã không nhận được điều này. Vì tôi không có thay đổi đối với tệp .csproj của tôi kể từ bây giờ, sau đó so với những gì khác tôi sẽ so sánh nó sau khi mở nó trong notepad. – user2913184

+0

Khi bạn thay đổi cài đặt đóng gói, chúng sẽ được lưu trữ trong tệp dự án. Hầu hết mọi cài đặt trong các trang thuộc tính đều được lưu trữ trong tệp dự án. – jessehouwing

+0

Nếu tôi theo dõi bạn ngay thì có nghĩa là khi tôi chạy lệnh bạn đề nghị tôi, nó sẽ tạo phần tử xml mới trong tệp .csproj xml (và tôi có thể thấy tệp in.csproj sau khi gói triển khai web được tạo ra) – user2913184

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