NAnt Cannot build web project 'http://....

使用NAnt去Build專案,設定檔案中明明就有設定 webmap 的資訊,為何還會發生Cannot build web project 'http://.... 的錯誤呢?

同事在問說使用VS.NET 2003 Build大的專案要花很久的時間。

所以建議他使用 NAnt 去Build看看。

結果同事用一個簡單的Web專案去測試就發生以下的錯誤,

image

NAnt 0.91 (Build 0.91.4312.0; release; 2011/10/22) Copyright (C) 2001-2011 Gerry Shaw http://nant.sourceforge.net
Buildfile: file:///C:/Inetpub/wwwroot/WebProject1/WebForm.build
Target framework: Microsoft .NET Framework 2.0
Target(s) specified: build
[property] Target framework changed to "Microsoft .NET Framework 1.1".
build:
build.winforms:
[solution] Starting solution build.
BUILD FAILED
Cannot build web project '
http://localhost/WebProject1/WebProject1.vbproj'
Please use <webmap> to map the given URL to a project-relative path,
or specify enablewebdav="true" on the <solution> task element to use WebDAV.

 

查看它的 WebForm.build 檔中有設定 webmap Tag了呀!

再參考以前「獨行俠」建立的專案去比較,發現在Build的方案檔中,不能使用 http://.... ,而是要使用 實體路徑 ,如下,

Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "WebProject1", "http://localhost/WebProject1/WebProject1.vbproj", "{F40C640C-CE4E-4CCF-85CD-C3437DDA5FA2}"

改成=>

Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "WebProject1", "R:\WebProject1\WebProject1.vbproj", "{F40C640C-CE4E-4CCF-85CD-C3437DDA5FA2}"

 

而原本的 WebForm.build 的內容也可以很簡單的將它設定到 方案檔 就可以了,如下,

<?xml version="1.0"?>
<project name="NantTest" default="build">
<property name="nant.settings.currentframework" value="net-1.1"/>
<target name="build">
<solution configuration="Debug" solutionfile="WebProject1.sln">
	<assemblyfolders>
	</assemblyfolders>
</solution>
</target>
</project>

希望對大家有所幫助,謝謝!

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^