尝试使用aspnet_compiler从命令行构建和发布Asp.net网站

时间:2009-06-11 17:26:55

标签: c# asp.net command-line aspnet-compiler

我正在尝试这个。我已经建立了asp.net网站。 当我通过VS2008发布到IIS时,它工作正常。 可以说我的网站位于c:\ projects \ Website1 \ 我想将它发布到c:\ Inetpub \ wwwroot \ WebsiteOne

我正试图模仿工作室的发布。那就是发布并删除任何内容。

我试过这个: aspnet_compiler -v / WebsiteOne -f c:\ Inetpub \ wwwroot \ WebsiteOne

错误: 错误ASPRUNTIME:预编译目标目录(c:\ Inetpub \ wwwroot \ WebsiteOne)不能与源应用程序目录(c:\ inetpub \ wwwroot \ WebsiteOne)位于同一树中。

当我尝试这个时: aspnet_compiler -v / WebsiteOne

我收到错误此应用程序已预先编译。

任何能够让我了解如何进行编译线构建和网站发布的人

由于

3 个答案:

答案 0 :(得分:5)

我在此期间解决了这个问题。你只需要传递物理路径,因为它从IIS中获取了一个

aspnet_compiler -v /WebsiteOne -p c:\projects\Website1 -f c:\Inetpub\wwwroot\WebsiteOne 

以防其他人遇到同样的问题..

答案 1 :(得分:1)

此外,您可以考虑在解决方案文件上使用MSBuild,并使用发布目标。

无论如何,这就是VStudio正在做的事情。 : - )

答案 2 :(得分:0)

http://johnnycoder.com/blog/2008/01/29/getting-started-with-cruisecontrolnet/

我已粘贴这些信息,以防他的博客发生故障。

  1. 对于Web解决方案,将应用程序的Debug和/或Release版本的TargetPath更新为源应用程序目录之外。否则,您将收到以下错误:
  2. ASPNETCOMPILER:错误ASPRUNTIME:预编译目标目录不能与源应用程序目录位于同一树中。

    这可以通过修改解决方案文件中的以下内容来完成:

    Debug.AspNetCompiler.TargetPath = “c:\ccnet\PrecompiledWeb\SampleWeb\”
    Release.AspNetCompiler.TargetPath = “c:\ccnet\PrecompiledWeb\SampleWeb\”
    

    备选方案,可以更新应用程序MSBuild属性中找到的输出位置。

    您可能想知道为什么更新的解决方案不会使用下一个计划的构建进行更新。当它成功(并且有意义)时,只有应用于源代码控制的更改会被拉到构建框中。