Trying to Build and Publish Asp.net website from command line using aspnet_compiler

北慕城南 提交于 2019-12-01 21:24:57

问题


I am trying this. I have built asp.net website. When I publish to IIS through VS2008 it works fine. Lets say my site is at c:\projects\Website1\ I want to publish it to c:\Inetpub\wwwroot\WebsiteOne

I am trying to mimic publish from studio. That is publish and remove anything that is in side.

I tried this: aspnet_compiler -v/WebsiteOne -f c:\Inetpub\wwwroot\WebsiteOne

Error: error ASPRUNTIME: The precompilation target directory (c:\Inetpub\wwwroot\WebsiteOne) cannot be in the same tree as the source application directory (c:\inetpub\wwwroot\WebsiteOne).

When I tried this: aspnet_compiler -v/WebsiteOne

I get error This application is already precompiled.

Anyone who could give me an insight on how to do compile line building and publishing of website

Thanks


回答1:


I solved the problem in meantime. You just need to pass the physical path, because it picks up one from IIS

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

in case someone else encountered same problem..




回答2:


Also, you might consider using MSBuild on your solution file, and using the Publish target.

That's what VStudio is doing under the covers anyway. :-)




回答3:


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

I have pasted the information, in case his blog ever goes down.

  1. For web solutions, update the TargetPath for the Debug and/or Release build of the application to be outside of the source application directory. Otherwise, you will receive the following error:

ASPNETCOMPILER : error ASPRUNTIME: The precompilation target directory cannot be in the same tree as the source application directory.

This can be done by modifying the following in the solution file:

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

Alternative, one may update the Output location found in the application MSBuild properties.

You may be wondering why an updated solution won’t be updated with the next scheduled build. As it works out (and makes sense) only changes which are applied to source control are pulled onto the build box.



来源:https://stackoverflow.com/questions/982481/trying-to-build-and-publish-asp-net-website-from-command-line-using-aspnet-compi

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!