gpt4 book ai didi

c# - 从 Visual Studio 2013 构建中以 x64 进程模式运行自定义构建任务

转载 作者:行者123 更新时间:2023-11-30 14:30:05 33 4
gpt4 key购买 nike

我有 xyz.csproj,其中有自定义构建任务目标。然后目标文件指向我的自定义构建任务程序集(在 AnyCPU 中构建)。我在构建任务程序集中有一些代码需要加载 x64 程序集来执行一些验证。

当我在 Visual Studio 2013 中构建 xyz.csproj 时,自定义构建任务程序集在尝试加载 x64 dll 时抛出错误图像格式异常。我在构建任务代码中做了一条日志消息,它将 x86 输出到 visual studio 输出窗口。

如何强制我的自定义构建任务代码在 x64 中运行?

我尝试在目标文件中的 UsingTask 节点上指定 Architecture="x64"属性,还尝试了指定的 MSBuildArchitecture="x64"here in this msdn article .似乎没有任何效果。

关于如何解决这个问题有什么建议吗?

最佳答案

Visual Studio 2013 使用 MSBuild 12.0,默认情况下使用 32 位工具链。因此,它只能加载 32 位(或 AnyCPU)任务。

根据 this article您可以在 C:\Program Files (x86)\MSBuild\12.0\Bin\amd64 找到 64 位工具链。如果您在命令提示符下启动它,它会消耗您的 64 位(或任何 CPU)任务。

Architecture 属性用于设置位数相关任务。如果您确实有位数相关的任务,请确保同时配置 32 位和 64 位,以便无论使用哪个 MSBuild 工具链(32 位或 64 位)都可以找到并执行您的任务。仅提供 64 位任务确实是个坏主意。

关于c# - 从 Visual Studio 2013 构建中以 x64 进程模式运行自定义构建任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24378792/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com