【问题标题】:Nant 0.92 Won't build 32 bit solution on 64 bit OS with vs 2012Nant 0.92 不会在 64 位操作系统上使用 vs 2012 构建 32 位解决方案
【发布时间】:2013-07-10 13:43:09
【问题描述】:

您好,我在安装了 vs 2012 的 Server 2008 r2 x64 上构建 x86 解决方案时遇到问题。它总是出现以下错误:

  [msbuild] "C:\fake.sln" (Build target) (1) ->
  [msbuild] "C:\fake.csproj.metaproj" (default target) (2) ->
  [msbuild] "C:\fake.csproj" (default target) (8) ->
  [msbuild] "C:\xeqodvbc.tmp_proj" (_CompileTemporaryAssembly target) (11) ->
  [msbuild] (CoreCompile target) -> 
  [msbuild]   error CS1607 : Warning as error : Assembly generation -- Referenced assembly 'PresentationCore.dll' targets a different processor [C:\xeqodvbc.tmp_proj]
  [msbuild]   error CS1607 : Warning as error : Assembly generation -- Referenced assembly 'System.Data.dll' targets a different processor [C:\xeqodvbc.tmp_proj]

下面是失败的 nant 任务。 (我已经更改了项目名称) Set3.5 目标所做的只是将 msbuild.targetframework 属性设置为 v3.5。

<target name="faketarget" depends="makeTempDir" description="builds">
    <call target="set3.5" />
    <msbuild project="our32bit.sln" target="Build" verbosity="${msbuild.verbosity}">
        <property name="Configuration" value="${build.configuration}" />
        <property name="Platform" value="x86" />
        <property name="PlatformTarget" value="x86" />
        <!--<property name="Platform" value="${build.platform}" />-->
        <property name="RunCodeAnalysis" value="${code.analysis}" />
        <property name="CodeAnalysisRules" value="${code.analysis.rules}" />
        <property name="TargetFrameworkVersion" value="${msbuild.targetframework}" />
    </msbuild>

现在,如果我进入解决方案的文件夹并调用 msbuild /p:TargetFrameworkVersion=v3.5 它构建没有问题,如果我在 VS 2012 中打开它,我也可以从那里构建它。有什么建议吗?

【问题讨论】:

    标签: c# msbuild nant nantcontrib


    【解决方案1】:

    我已经解决了这个问题,但我不确定这是内部 nant contrib 问题还是我没有正确处理。

    为了解决这个问题,我必须创建一个指向安装在 C:\Windows\Microsoft.NET\Framework\v4.0.30319 的 msbuild 的 exec 任务。

    当我运行 msbuild 任务时,它使用此路径 C:\Windows\Microsoft.NET\Framework64\v4.0.30319

    所以在内部我认为 nant 在 64 位机器上默认使用 64 位路径。

    【讨论】:

      猜你喜欢
      • 2011-12-18
      • 2014-12-28
      • 1970-01-01
      • 2012-05-14
      • 2013-08-29
      • 2012-07-26
      • 2011-07-07
      • 1970-01-01
      • 2015-08-11
      相关资源
      最近更新 更多