gpt4 book ai didi

c# - 为多平台环境声明 list

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

我正在修改很久以前为 x86 架构平台 (win32) 构建的 C# 项目的 list ,以在 64 位和 32 位机器上运行。

这是原始 list 文件:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="app.exe" processorArchitecture="X86" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>

我找不到的是如何让 X86 和 X64(win32 和 win64)在 processorArchitecture 和类型字段中工作?

最佳答案

你可以使用

processorArchitecture="*"

表示支持所有架构。

如果您的应用程序是 32 位应用程序,那么您可以使用

processorArchitecture="x86"

有了这样的 list ,您的进程就可以在 64 位系统上正常运行,因为它将在 WOW64 模拟器下作为 32 位进程运行。

对于在 x64 上运行的 64 位应用程序,您使用

processorArchitecture="amd64"

最后,对于 64 位 Itanium,该值为

processorArchitecture="ia64"

对于 type 属性,值始终为 type="win32"

文档(诚然有点稀疏)在这里:http://msdn.microsoft.com/en-us/library/windows/desktop/aa374191.aspx

就其值(value)而言,在我看来您似乎不需要更改任何内容。如果您有一个使用 processorArchitecture="x86" list 构建的 32 位可执行文件,那么该可执行文件已经针对 32 位和 64 位系统进行了完美配置。请记住,这里重要的是进程的体系结构,而不是运行该进程的系统的体系结构。即使在 64 位系统上,您的 32 位可执行文件也作为 32 位进程运行。

关于c# - 为多平台环境声明 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17497194/

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