警告MSB3270体系结构不匹配/ AL1073针对其他处理器

彼得

我有带有本地化资源和x64本机依赖项的项目。有没有没有警告的方式构建它们?

如果将目标平台设置为AnyCPU,则由于本机引用,将收到此警告:

警告MSB3270:正在构建的项目“ MSIL”的处理器体系结构与引用“ Native64”,“ AMD64”的处理器体系结构之间不匹配。这种不匹配可能会导致运行时失败。请考虑通过Configuration Manager更改项目的目标处理器体系结构,以使项目和引用之间的处理器体系结构保持一致,或者依赖于具有与项目目标处理器体系结构相匹配的处理器体系结构的引用。

还可以,但是:

如果将目标平台设置为x64,则会收到此警告,因为本地化资源会自动创建具有错误目标体系结构的附属程序集:

ALINK:警告AL1073:引用的程序集“ mscorlib.dll”针对其他处理器

微软表示这是一个错误,但他们不会修复。

那么现在怎么办?

马特·史密斯

这是一种解决方法:

通过使用与您要构建的平台(或位数)相匹配的AL.EXE,可以避免此问题。也就是说,您将看到在构建x64时,它试图在类似于以下路径的地方使用AL.EXE:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools

如果您可以使用x64版本的AL.exe,则该问题将消失。也就是说,在类似于以下路径的位置使用AL.EXE:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\x64

Msbuild通过使用它找到此路径TargetFrameworkSDKToolsDirectory因此,假设在构建x86时该目录是正确的目录,则以下变通方法实质上是在构建x64时将x64子目录附加到路径上,并保留原样:

  1. 创建一个MsBuildAL1073WarningWorkaround.targets文件(名称无关紧要)并将其添加到项目中。它具有以下内容:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <TargetFrameworkSDKToolsDirectory Condition=" '$(PlatformTarget)' == 'x64'">$(TargetFrameworkSDKToolsDirectory)$(PlatformTarget)\</TargetFrameworkSDKToolsDirectory>
      </PropertyGroup>
    </Project>  
    
  2. 编辑.csproj文件,以在文件末尾附近导入该文件(您将在其中看到“正在修改构建过程...”的注释:

     <Import Project="MsBuildAL1073WarningWorkaround.targets" />
     <!-- To modify your build process... -->
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ALINK:警告AL1073:引用的程序集“ mscorlib.dll”针对其他处理器

来自分类Dev

.NET CORE ALINK:警告AL1073:引用的程序集“ mscorlib.dll”针对其他处理器

来自分类Dev

在SSIS中使用Web服务会导致“处理器体系结构之间的不匹配”

来自分类Dev

在SSIS中使用Web服务会导致“处理器体系结构之间的不匹配”

来自分类Dev

语言特定的体系结构/处理器

来自分类Dev

Unattend.xml文件-处理器体系结构

来自分类Dev

SSIS:ODBC驱动程序管理器指定的DSN包含驱动程序和应用程序之间的体系结构不匹配

来自分类Dev

CLRMD体系结构不匹配

来自分类Dev

在ARM体系结构中不同的处理器模式下如何使用内核堆栈?

来自分类Dev

Xcode 6:为每个体系结构设置预处理器宏

来自分类Dev

处理器体系结构问题(x86与任何CPU)

来自分类Dev

Xcode 7:为每个体系结构设置预处理器宏

来自分类Dev

我应将项目的目标处理器体系结构更改为什么?

来自分类Dev

在VBScript中仅使用FileSystemObject,如何确定操作系统的处理器体系结构?

来自分类Dev

磁盘读写速度是否受处理器体系结构影响?

来自分类Dev

如何为许多处理器体系结构引用.dll?

来自分类Dev

带有控制器的体系结构的名称,而非MVC的体系结构的名称

来自分类Dev

为什么Ryzen处理器(或任何其他处理器)需要驱动程序?

来自分类Dev

将中断请求扩展到其他处理器

来自分类Dev

将中断请求扩展到其他处理器

来自分类Dev

除了 Meltdown 和 Spectre 之外,是否还有其他处理器漏洞?

来自分类Dev

我的中兴WCDMA调制解调器由于体系结构不兼容而无法正常工作

来自分类Dev

使用PowerShell确定处理器体系结构的一种简单的跨平台方法是什么?

来自分类Dev

Lambda体系结构-为什么选择批处理层

来自分类Dev

体系结构:处理大型照片上传和调整大小

来自分类Dev

在插件体系结构的类库中处理异常

来自分类Dev

NDK构建-根据体系结构指定链接器设置

来自分类Dev

让编译器根据体系结构选择乘法算法

来自分类Dev

简单计时器应用程序的体系结构

Related 相关文章

  1. 1

    ALINK:警告AL1073:引用的程序集“ mscorlib.dll”针对其他处理器

  2. 2

    .NET CORE ALINK:警告AL1073:引用的程序集“ mscorlib.dll”针对其他处理器

  3. 3

    在SSIS中使用Web服务会导致“处理器体系结构之间的不匹配”

  4. 4

    在SSIS中使用Web服务会导致“处理器体系结构之间的不匹配”

  5. 5

    语言特定的体系结构/处理器

  6. 6

    Unattend.xml文件-处理器体系结构

  7. 7

    SSIS:ODBC驱动程序管理器指定的DSN包含驱动程序和应用程序之间的体系结构不匹配

  8. 8

    CLRMD体系结构不匹配

  9. 9

    在ARM体系结构中不同的处理器模式下如何使用内核堆栈?

  10. 10

    Xcode 6:为每个体系结构设置预处理器宏

  11. 11

    处理器体系结构问题(x86与任何CPU)

  12. 12

    Xcode 7:为每个体系结构设置预处理器宏

  13. 13

    我应将项目的目标处理器体系结构更改为什么?

  14. 14

    在VBScript中仅使用FileSystemObject,如何确定操作系统的处理器体系结构?

  15. 15

    磁盘读写速度是否受处理器体系结构影响?

  16. 16

    如何为许多处理器体系结构引用.dll?

  17. 17

    带有控制器的体系结构的名称,而非MVC的体系结构的名称

  18. 18

    为什么Ryzen处理器(或任何其他处理器)需要驱动程序?

  19. 19

    将中断请求扩展到其他处理器

  20. 20

    将中断请求扩展到其他处理器

  21. 21

    除了 Meltdown 和 Spectre 之外,是否还有其他处理器漏洞?

  22. 22

    我的中兴WCDMA调制解调器由于体系结构不兼容而无法正常工作

  23. 23

    使用PowerShell确定处理器体系结构的一种简单的跨平台方法是什么?

  24. 24

    Lambda体系结构-为什么选择批处理层

  25. 25

    体系结构:处理大型照片上传和调整大小

  26. 26

    在插件体系结构的类库中处理异常

  27. 27

    NDK构建-根据体系结构指定链接器设置

  28. 28

    让编译器根据体系结构选择乘法算法

  29. 29

    简单计时器应用程序的体系结构

热门标签

归档