2011-12-09 20 views
7

Tôi có Giải pháp với số lượng lớn tệp .csproj được liên kết.Vượt qua mục tiêu msbuild tùy chỉnh từ Giải pháp đến Dự án

Mỗi tệp .csproj có <Target Name="PublishQA">....

Việc xây dựng thất bại khi cố gắng biên dịch toàn bộ giải pháp:

> msbuild mysolution.sln /t:PublishQA` 
"c:\myproj.sln" (publishqa target) (1) -> 
    c:\myproj.sln.metaproj : error MSB4057: The target "PublishQA" does not exist in the project. [c:\myproj.sln] 

Khi tôi xây dựng dự án .csproj trực tiếp, nó được xây dựng tốt.

Làm thế nào để tôi nói với msbuild để chuyển mục tiêu tới tệp dự án ???

Trả lời

2

Là một trường hợp bạn có thể tạo tập tin mục tiêu riêng biệt trong đó xây dựng một cách rõ ràng giải pháp của bạn,

<!-- mytargets.targets file --> 
<Project ToolsVersion="4.0" 
     xmlns="http://schemas.microsoft.com/developer/msbuild/2003" 
     DefaultTargets="MyTargets" 
     InitialTargets="MyTargets"> 

    <Target Name="MyTargets"> 
     <MSBuild Projects="MySolution.sln" /> 
    </Target> 

</Project> 

Vì vậy, bây giờ bạn sẽ có thể chỉ gọi nó như

msbuild.exe mytargets.targets

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