的MSBuild:问题指定平台,为孩子建立(MSBuild: Problems specifying

2019-09-19 04:54发布

是否有可能建立一个项目时指定目标平台(64,86)?

我有一个生成的任务,如下所示:

<MSBuild Projects="%(AgentProjectFiles.FullPath)" Properties="Architecture=x86;Configuration=$(Configuration);Optimize=$(Optimize);Platform=$(Platform);OutputPath=$(OutputDirectory)\Agent\;ReferencePath=$(ReferencePath);DebugSymbols=$(DebugSymbols);DebugType=none;" />

正如你可能会说,我已经抛出一切可能我已经在网上看到到,希望它会工作的性质属性。 你会发现,为我设置它是x86明确的架构特性。 在$(平台)也设置为86。 我已经尝试了数排列的,都没有成功。

不幸的是,似乎无论什么被投入到这些属性,我的类库是x86的,但我的可执行文件是64位。

我想也许这个问题可能是在项目文件中指定的构建属性本身都造成的MSBuild忽略我MSBuild中穿过的,但这些变化对86后,我仍然有同样的问题。

有任何想法吗?

Answer 1:

AgentProjectFiles项目的声明中,你定义属性的元数据。 所以它看起来像:

<ItemGroup>
    <AgentProjectFiles Include="something.proj">
        <Properties>SOME VALUES HERE</Properties>
    </AgentProjectFiles>
</ItemGroup>

如果您已经定义了,然后传递到的属性属性属性MSBuild任务将被忽略。 我bloged这个的MSBuild:属性和AdditionalProperties已知的元数据 。

赛义德·易卜拉欣·哈希米

我的书: 里面的微软构建引擎:使用的MSBuild和团队基础生成



文章来源: MSBuild: Problems specifying platform for child builds
标签: msbuild