• 使用MSBUILD发布Web Application


    VS Publish Web Application的功能很好用,能够直接预编译整个站点。对于Website, 可以在命令行下通过aspnet_compiler来进行预编译。

    但是对于Web Application, aspnet_compiler显然行不通,aspnet_compiler不接受项目文件作为参数,直接把网站文件夹路径作为参数可能会引起其他问题。

    于是我尝试用MSBUILD来发布网站。

    直接编译:

    msbuild Web.csproj /t:Compile /p:Configuration=Release

    无效,没有预编译

    遍寻网络,得/t:_CopyWebApplication参数

    于是:

    msbuild Web.csproj /t:Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish

    网站文件预编译了,但是没有bin目录

    加OutputPath参数:

    msbuild Web.csproj /t:Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish /p:OutputPath=C:\publish\bin

    dll到bin下面去了,但是引用的外部文件没有了??

    增加参数 ResolveReferences:

    msbuild Web.csproj /t:ResolveReferences;Compile /t:_CopyWebApplication /p:Configuration=Release /p:WebProjectOutputDir=C:\publish /p:OutputPath=C:\publish\bin

    搞定网站全部成功预编译了, 不过多了web.csproj和 web.csproj.user, 直接删除或者通过nant删除即可。


    作者:江大鱼
    出处:http://jzywh.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    CSS overflow 隐藏属性
    CSS visibility 隐藏属性
    多线程中的detach
    多线程中join的解释(转)
    lib 和 dll 的区别、生成以及使用详解:(包括变量,函数,类导出3种情形)(转)
    堆和栈的区别
    ZMQ相关
    不同类型的指针加减(就是向前或向后移动)[转]
    memset函数及其用法,C语言memset函数详解
    zmq中的router和dealer
  • 原文地址:https://www.cnblogs.com/jzywh/p/MSBuildPublishWebApplication.html
Copyright © 2020-2023  润新知