2009-06-11 70 views
4

我正在嘗試此操作。我建立了asp.net網站。 當我通過VS2008發佈到IIS時,它工作正常。 可以說我的網站是在c:\ projects \ Website1 \ 我想發佈到c:\ Inetpub \ wwwroot \ WebsiteOne嘗試使用aspnet_compiler從命令行構建和發佈Asp.net網站

我想模仿從工作室發佈。這是發佈和刪除任何內容。

我嘗試這樣做: aspnet_compiler -v/WebsiteOne -fc:\的Inetpub \ wwwroot的\ WebsiteOne

錯誤: 錯誤ASPRUNTIME:預編譯目標目錄(c:\的Inetpub \ wwwroot的\ WebsiteOne)不能在與源應用程序目錄(c:\ inetpub \ wwwroot \ WebsiteOne)相同的樹。

當我嘗試這樣做: aspnet_compiler -v/WebsiteOne

我得到錯誤此應用程序已預編譯。

任何人誰可以給我如何做網站的編譯行構建和發佈

感謝

+0

我在此期間解決了這個問題。你只需要通過物理路徑,因爲它從IIS aspnet_compiler -v/WebsiteOne-pc:\ projects \ Website1 -fc:\ Inetpub \ wwwroot \ WebsiteOne獲取一個,以防其他人遇到同樣的問題.. – grobartn 2009-06-11 17:55:55

回答

4

我在此期間解決了這個問題。你只需要通過物理路徑,因爲萬一別人遇到過同樣的問題拿起一個從IIS

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

..

1

而且見識,你可能會考慮使用您的解決方案文件的MSBuild,並使用發佈目標。

這就是VStudio在封面下做的事情。 :-)

+0

/t:發佈不適用於Web應用程序;) – icesar 2011-05-30 18:03:21

0

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

我已經粘貼的信息,他的博客有時會失敗。

  1. 對於Web解決方案,將TargetPath更改爲應用程序的Debug和/或Release版本位於源應用程序目錄之外。否則,您將收到以下錯誤:

ASPNETCOMPILER:error ASPRUNTIME:預編譯目標目錄不能與源應用程序目錄位於同一個樹中。

這可以通過修改在溶液文件中的以下來完成:

Debug.AspNetCompiler.TargetPath = 「c:\ccnet\PrecompiledWeb\SampleWeb\」 
Release.AspNetCompiler.TargetPath = 「c:\ccnet\PrecompiledWeb\SampleWeb\」 

替代,可以更新應用程序的MSBuild屬性中找到的輸出位置。

您可能想知道爲什麼更新的解決方案不會使用下一個計劃的版本進行更新。當它解決(並且合理)時,只有應用於源代碼管理的更改纔會被拉到構建框中。