Có cách nào để sử dụng Gói mở rộng MSBuild có tham chiếu "cục bộ" không yêu cầu bạn chạy trình cài đặt không? Nói cách khác, bạn có thể lưu trữ các mục tiêu trong thư mục các mục giải pháp sao cho mọi nhà phát triển không phải cài đặt nó?Có thể sử dụng MSBuild Extension Pack mà không cần cài đặt không?
Trả lời
Bạn phải khai báo thuộc tính, ExtensionTasksPath, trước khi nhập khẩu cho các tác vụ. Ví dụ có một cái nhìn tại địa chỉ:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ExtensionTasksPath Condition="'$(ExtensionTasksPath)' == ''">E:\Data\Development\My Code\Community\MSBuild\ExtensionPack\</ExtensionTasksPath>
</PropertyGroup>
<Import Project="$(ExtensionTasksPath)MSBuild.ExtensionPack.tasks"/>
<Target Name="Demo">
<MSBuild.ExtensionPack.FileSystem.File TaskAction="GetTempFileName">
<Output TaskParameter="Path" PropertyName="TempPath"/>
</MSBuild.ExtensionPack.FileSystem.File>
<Message Text="TempPath: $(TempPath)" />
</Target>
</Project>
Nhiệm vụ MSBuild cộng đồng là tương tự nhưng tài sản được đặt tên MSBuildCommunityTasksLib. Tôi nghĩ rằng đối với các nhiệm vụ SDC, nó được gọi là TasksPath.
Cảm ơn bạn! Tôi vừa xem các tập phim DNRtv của bạn trên MSBuild và chúng thật tuyệt vời. – Bob
Tôi gặp sự cố khi làm việc này với các đường dẫn tương đối (tức là không phải c: \ blah nhưng .. \ blah).
Điều này là do bạn không thể sử dụng lại biến ExtensionTasksPath nếu nó là tương đối, vì tệp của bạn (.csproj) và tệp MsBuild.ExtensionPack.tasks ở các vị trí khác nhau, dẫn đến giá trị khác nhau cho người thân con đường.
Trong mục đích này là những gì nó đã làm việc cho tôi (đặt ở phía trên của file csproj của bạn):
<PropertyGroup>
<ExtensionTasksPath Condition="'$(ExtensionTasksPath)' == ''">..\4.0\</ExtensionTasksPath>
</PropertyGroup>
<Import Project="..\references\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks"/>
Lý do tại sao bạn cần ".. \ 4.0 \" thay vì chỉ " "(trống) là vì tệp MsBuild.ExtensionPack.tasks phát hiện trống và thực hiện một số nội dung khác nhau nếu trường hợp đó xảy ra. Tôi không muốn hack file MsBuild.ExtensionPack.tasks trong trường hợp tôi muốn nâng cấp nó sau này.
Điều này làm việc cho tôi. Cảm ơn! –
- 1. chạy msbuild mà không cần cài đặt VS
- 2. MSBuild có cần Visual Studio để cài đặt không?
- 3. Tôi có thể cài đặt Laravel mà không cần sử dụng Composer không?
- 4. Có ai ở ngoài đó sử dụng MsBuild để cài đặt không?
- 5. Cài đặt và sử dụng aspnet_merge.exe mà không cần cài đặt Windows SDK?
- 6. Có thể chạy ứng dụng Adobe AIR mà không cần cài đặt không?
- 7. npm cài đặt mà không cần ssl
- 8. Cài đặt maven2 mà không cần openjdk
- 9. Phân phối ứng dụng mà không cần cài đặt mono
- 10. Tạo ứng dụng Desktop (cửa sổ) có thể chạy mà không cần cài đặt?
- 11. Tôi có thể cài đặt Swift (OpenStack Storage Infrastructure) của OpenStack mà không cần cài đặt Nova không?
- 12. Tôi có thể sử dụng mong đợi trên các cửa sổ mà không cần cài đặt Cygwin không?
- 13. Có thể tải xuống đá quý Ruby mà không cần cài đặt tự động không?
- 14. Có thể đặt ETags bằng JAX-RS mà không cần sử dụng đối tượng Response không?
- 15. Visual Studio 2010 Service Pack 1 không được cài đặt
- 16. Vala có thể được sử dụng mà không cần GObject?
- 17. Làm thế nào tôi có thể cài đặt mô-đun Perl mà không cần sử dụng CPAN.pm?
- 18. Sử dụng getline() mà không cài đặt failbit
- 19. Cách sử dụng tác vụ Zip của MSBuild extension?
- 20. Cài đặt cloudera impala mà không cần quản lý cloudera
- 21. Chạy Java thực thi mà không cần cài đặt JRE?
- 22. Sử dụng Java Compiler API mà không cần cài đặt JDK
- 23. Sử dụng MSBuild để xây dựng Mô hình khung thực thể mà không cần sử dụng tệp dự án?
- 24. Không thể cài đặt Python mà không cần truy cập sudo
- 25. Cài đặt gcc-C++ trên CentOS mà không cần yum
- 26. Sử dụng trình biên dịch Microsoft C++ mà không cần cài đặt Visual Studio
- 27. Chạy java mà không cần cài đặt jre?
- 28. Không thể cài đặt Visual Studio Express mà không cần thêm SQL Server Express
- 29. Cài đặt PHP 5 mà không cần libxml2
- 30. Sử dụng ModalPopupExtender mà không cần phải đặt TargetControlID?
Tên cho loại "cài đặt" đó được gọi là "triển khai xcopy" –
Nhận xét cuối cùng của tôi hơi kém về ngữ pháp. Xin lỗi, tôi buồn ngủ ... –
Tôi không theo. Tôi đã tự hỏi nếu bạn có thể tham khảo MSBuild Extensions tại bất kỳ vị trí nào trên máy, mà không cần chạy msi để cài đặt Tiện ích mở rộng. – Bob