MSBuild:为子生成指定平台时出现问题

MSBuild:为子生成指定平台时出现问题,msbuild,Msbuild,在构建项目时是否可以指定目标平台(x64、x86) 我有一个构建任务,如下所示: <MSBuild Projects="%(AgentProjectFiles.FullPath)" Properties="Architecture=x86;Configuration=$(Configuration);Optimize=$(Optimize);Platform=$(Platform);OutputPath=$(OutputDirectory)\Agent\;ReferencePath=$(R

在构建项目时是否可以指定目标平台(x64、x86)

我有一个构建任务,如下所示:

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

正如你可能知道的,我已经把我在网上看到的所有可能的东西都放到Properties属性中,希望它能起作用。您会注意到,对于架构属性,我已显式地将其设置为x86。$(平台)也设置为x86。我尝试了许多排列,但没有成功

不幸的是,无论这些属性中放入什么,我的类库都是x86,但我的可执行文件是x64

我认为问题可能在于项目文件本身中指定的生成属性导致MSBuild忽略我从MSBuild传递的那些属性,但在将它们更改为x86之后,我仍然存在相同的问题


有什么想法吗?

AgentProjectFiles项的声明中,您是否定义了属性元数据。那么它看起来像:

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

都被忽略了。我在博客上写过这件事

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


我的书:

谢谢!!!(请原谅,我的头撞到墙上已经有几个小时了。)我改变了我的项目组来定义上面的属性,我的程序集现在是为正确的平台创建的。我真的不相信这是事实。谢谢你,赛义德。