MSBuild の AspNetCompiler が利用する .NET Framework バージョンを指定する

元ネタ: http://blogs.msdn.com/b/webdev/archive/2010/05/14/the-aspnet-compiler-build-task-in-visual-studio-2010-asp-net-mvc-2-projects.aspx

  <Target Name="CreateWebDirectory">
    <Message Text="To Create WebDirectory $(PublishFolderWeb).$(CCNetLabel) on auto build server" />
    <AspNetCompiler
      PhysicalPath="$(CCNetWorkingDirectory)\WebSite"
      TargetPath="$(PublishFolderWeb).$(CCNetLabel)"
      VirtualPath="\myservice.$(CCNetLabel)"
      Force="true"
      Debug="false"
      Clean="true"
      Updateable="true"
      ToolPath="C:\Windows\Microsoft.NET\Framework\v4.0.30319\"
    />
  </Target>

 

ToolPath 属性がポイント。AspNetCompiler ではなく、親クラスである ToolTask のプロパティであるため見つけるのが困難だった。

今回自分がぶつかったのは、requestValidationMode 等のみを .NET Framework 2.0 相当にしたいと思い Web.config を変更したところ、起動される aspnet_compiler.exe が 2.0 のもので失敗した。

(追記) MSBuild が読み込むファイルの Project 要素の ToolsVersion 属性を変えるのが正しい対処だった

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。