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

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

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

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

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

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

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

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

谢谢

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

aspnet_compiler -v /WebsiteOne -pc:\projects\Website1 -fc:\Inetpub\wwwroot\WebsiteOne 

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

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

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

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

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

  1. 对于Web解决方案,请将应用程序的Debug和/或Release版本的TargetPath更新为源应用程序目录之外。 否则,您将收到以下错误:

ASPNETCOMPILER:错误ASPRUNTIME:预编译目标目录不能与源应用程序目录位于同一树中。

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

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

或者,可以更新应用程序MSBuild属性中的Output位置。

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