質問

ASP.NET MVCプロジェクトをビルドするためにnantをセットアップしましたが、ローカルで正常に動作します。ツールフォルダーにnantを追加し、バージョン管理に追加します。 TeamCityは私の変更を取得してビルドを開始しますが、失敗します。

私は、最新バージョンのNantを使用していると信じており、.net framework 3.5をnant.exe.configに追加しました。サーバーに何が欠けていますか?はい、手動でビルドしてデプロイするとasp.net mvcアプリが機能するため、.netフレームワークがサーバーにインストールされていますか?

ビルドファイルは次のとおりです。          

<target name="compile" description="Compiles using the AutomatedDebug Configuration">
    <msbuild project="Tolt.Sims.sln" />
</target>

ここにエラーがあります:

BUILD FAILED Failed to initialize the 'Microsoft .NET Framework 2.0' (net-2.0) target framework.
Property evaluation failed. Expression: ${path::combine(sdkInstallRoot, 'bin')} ^^^^^^^^^^^^^^ Property 'sdkInstallRoot' has not been set.
For more information regarding the cause of the build failure, run the build again in debug mode. Try 'nant -help' for more information
役に立ちましたか?

解決

NAntのベータ版を使用している場合(現時点では2.0フレームワークよりも大きいものをターゲットにするためのサポートを得る唯一の方法です)、レジストリの問題が発生する可能性があります。同様の問題は、 Tim Barczによって報告されたです。

msbuildの2.0バージョンを指すNAntContrib(msbuildタスクのプロバイダー)に至るまで、ほとんどのものは要約されています。彼のソリューションをチェックして、それがあなたのシナリオに当てはまるかどうか確かめてください。

他のヒント

潜在的に、.NET Framework 2.0 SDKがインストールされていない可能性があります。

次からインストールできます http:// www.microsoft.com/downloads/details.aspx?familyid=fe6f2099-b7b4-4f47-a244-c96d69c35dec&displaylang=en

レジストリに次を追加してこれを修正しました:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFrameworkの新しい文字列値

名前:sdkInstallRootv2.0

値:C:\ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \

命を吹き込むように思えた...

w://

これは0.86 beta1リリース後に修正されました。 2010年4月1日に、nantのアップグレードがあなたのためのオプションである場合の修正で0.90がリリースされました。詳細を提供するために、0.90の修正リリースはnant.exe.configファイルへの簡単な変更であったようです。以下の太字のテキストが追加され、2.0 SDKをインストールしなくても問題が解決する可能性があります。

  

<directory name="${path::combine(sdkInstallRoot, 'bin')}" if = <!> quot; $ {property :: exists( 'sdkInstallRoot')} <!> quot; / <!> gt;

net-2.0セクションを更新して修正します。

NAntで同様の問題が発生しました。これはベストのソリューションではないことは承知していますが、プロジェクトを動かす必要がある場合に有効なソリューションです。

サーバーに開発環境(C#Expressは機能しませんでしたが、VS 2008は機能しました)をサーバーにインストールすると、この問題がなくなることがわかりました。 (はい、これは通常のベストプラクティスに反することに気付きますが、機能し、スクリプトを実行できるため、コーディングに戻ることができます。)

他の誰かが同じような状況にある場合に共有すると思いました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top