2011-08-17 19 views
13

Có cách nào để đặt tham số MSDeploy trong tệp .csproj của dự án ASP.NET MVC không? Đặc biệt là một "bỏ qua" tham số, mà nên bỏ qua một "Temp" thư mục.Cách đặt thiết đặt MSDeploy trong tệp .csproj

-skip:objectName=dirPath,absolutePath="\\temp" 

.. hoặc làm cách nào để chuyển thông số này vào danh sách đối số MSBuild.exe?

+0

Mục tiêu của bạn được xác định như thế nào? Bạn chạy msbuild.exe một cách rõ ràng? – sll

+0

MSBuild.exe được thực thi bởi máy chủ TFS Build với các đối số tương tự như sau: '/ p: DeployOnBuild = true; DeployTarget = MsDeployPublish; MSDeployPublishMethod = WMSVC; MsDeployServiceUrl = ...' –

+0

Bạn có thể thêm đối số rõ ràng như msbuild.exe/p: absolutePath = "\\ temp"? – sll

Trả lời

10

Xác định <MsDeploySkipRules> trong tệp dự án. Ví dụ:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <OnBeforePackageUsingManifest>AddSkipRules</OnBeforePackageUsingManifest> 
    </PropertyGroup> 
    <Target Name="AddSkipRules"> 
    <ItemGroup> 
     <MsDeploySkipRules Include="SkipTempDirOnDeploy"> 
     <SkipAction></SkipAction> 
     <ObjectName>dirPath</ObjectName> 
     <AbsolutePath>$(_Escaped_PackageTempDir)\\Temp$</AbsolutePath> 
     <XPath></XPath> 
     </MsDeploySkipRules> 
    </ItemGroup> 
    </Target> 
</Project> 
+8

Để nó hoạt động trong suốt quá trình triển khai thông qua tính năng "Xuất bản" của Visual Studio, người dùng phải sử dụng 'AfterAddIisSettingAndFileContentsToSourceManifest' thay vì' OnBeforePackageUsingManifest'. Xem nhận xét http://blog.alanta.nl/2011/02/web-deploy-customizing-deployment.html?showComment=1314013105475#c1406362862563428999 –

+4

Khi tôi thử điều này, tôi nhận được "bỏ qua chỉ thị bỏ qua được bỏ qua '." trong bản dựng. Tôi đang thiếu gì? –

+1

Tôi gặp lỗi giống như Paul Smith. – Chris

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