![](/img/trans.png)
[英]How to use command line msbuild to deploy VS2012 Web Site project without precompiling it?
[英]Precompiling a site for deployment using .targets file for MSBuild
我有一個ASP.NET Web項目(.Net 4.5,Visual Studio 2015)。
該解決方案使用XAML構建,而不是較新的Web構建。 一些內部版本使用文件副本將應用程序直接部署到IIS服務器。
我們不使用Visual Studio中的“發布”操作來發布項目。
在ASP.NET項目的.csproj文件中,添加了以下import
語句以添加其他.targets文件:
<Import Project="CSADeploy.targets" Condition="Exists('CSADeploy.targets')" />
<Target Name="AdditionalTargets">
<!-- ... -->
</Target>
在該目標文件中,文件被復制。
這是.targets文件的簡短摘錄:
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
我希望預先編譯部署到服務器的代碼以進行部署,即“僅部署”或“具有可更新UI的部署”都可以。 我知道Publish操作中有一個復選框可以預編譯,但我不能使用它。 我必須將現有XAML構建與目標文件以及.csproj文件中的指令一起使用。
我也知道,一旦文件被部署,我就可以在服務器上使用Aspnet_compiler.exe
工具。 但是我必須在復制文件之前執行此操作,因為我無權訪問此服務器,並且希望防止在構建過程中添加手動操作。
如何預編譯ASP.NET頁面以進行部署,以便在我的方案中正確部署它們?
您可以為您的項目創建一個.pubxml文件,然后簽入TFS,在.pubxml文件中,將precompileBeforePublish設置為True。
<PropertyGroup>
......
<PrecompileBeforePublish>True</PrecompileBeforePublish>
</PropertyGroup>
在xaml構建定義中,添加以下msbuild參數:
/p:deployOnBuild=true /p:publishProfile=***.pubxml
然后在TFS xaml構建中,它將在部署之前進行預編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.