首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WPF 编译为 AnyCPU 和 x86 有什么区别

本文告诉大家,编译为 AnyCpu 和 AnyCPU(Prefer 32-bit)和 x86 有什么区别 x86 编译为 32 位的程序,如果程序运行的机器是 32 位还是 64 位,程序运行都是 32...在 32 位系统下,运行 32 位程序 在 64 位系统下,运行 32 位程序,但是可以获得 4G 内存 在 ARM 下,运行 32 位程序 如果使用 AnyCPU 那么编译为 IL 是不需要加平台,程序在机器运行才判断机器平台...32BIT: 0 除了上面几个之外,还有其他的编译选择,请看下面 anycpu 默认的编译 anycpu32bitpreferred 在 .NET Framework 4.5 和以上才可以使用...ARM 程序编译为 ARM 运行 x64 x86 Itanium 如果使用命令编译,那么可以使用platform和字符串 csc /platform:anycpu filename.cs...那么就需要检查是不是软件的环境和 dll 的环境不一样,如 软件是 x86 dll 是 x64就会出现这个问题。

2.2K10

WPF 编译为 AnyCPU 和 x86 有什么区别

本文告诉大家,编译为 AnyCpu 和 AnyCPU(Prefer 32-bit)和 x86 有什么区别 x86 编译为 32 位的程序,如果程序运行的机器是 32 位还是 64 位,程序运行都是 32...在 32 位系统下,运行 32 位程序 在 64 位系统下,运行 32 位程序,但是可以获得 4G 内存 在 ARM 下,运行 32 位程序 如果使用 AnyCPU 那么编译为 IL 是不需要加平台,程序在机器运行才判断机器平台...32BIT: 0 除了上面几个之外,还有其他的编译选择,请看下面 anycpu 默认的编译 anycpu32bitpreferred 在 .NET Framework 4.5 和以上才可以使用...ARM 程序编译为 ARM 运行 x64 x86 Itanium 如果使用命令编译,那么可以使用platform和字符串 csc /platform:anycpu filename.cs...那么就需要检查是不是软件的环境和 dll 的环境不一样,如 软件是 x86 dll 是 x64就会出现这个问题。

63420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    三、公共语言运行时(CLR)简介

    (exe),也可以使dll(其中含有一组由可执行应用程序使用的类型),最终都由CLR来管理执行这些程序集中的代码.这就意味者如果目标机器要想执行程序集,就必须安装.Net Framework.大多数windows.../platform命令行开关选项.这个开关选项允许指定最终生成的程序集只能在运行32位版本的windows下x86机器、只能在运行64位windows的64位的x64机器上运行、或者只能在运行32位的Windows...RT的ARM机器上使用.如果不指定平台的话,默认就是anycpu,表明最终生成的程序集能在任何版本的windows上运行. (3)、Visual Stdio中设置目标平台的方式 右键项目-属性-生成...(4)、项目指定目标平台后,编译器的工作方式 项目指定目标平台后,C#编译器生成的程序集会按照目标平台的配置生成相应的PE头、要么是PE32头,要么是PE32+头,除此之外,还会在头中指定要求什么CPU...架构(如果是anycpu,则代表任意cpu) (5)、win10下使用MS提供的SDK命令行实用程序DumpBin.exe和CorFlags.exe来检查编译器所生辰的托管模块的嵌入信息 CorFlags.exe

    1.6K60

    WPF dotnet 使用本机映像 native 优化 dotnet framework 二进制文件

    在 2017 我在社区问了一个问题,如何让 .NET Framework 的 WPF 等程序使用 .NET Native 构建以提升速度。...: 设置目标的框架平台是 4.6.2 或以上 配置目标平台是 x86 或 x64 换句话说是不要设置为 AnyCpu 的 添加一个神奇的 NuGet 库 使用 Release 构建 设置目标的框架平台是...x86 或 x64 平台 本机映像编译器需要根据给定的平台优化代码。...,新建 x86 和 x64 平台,请确保勾选了从 AnyCPU 复制选项 中文版界面请看下图 注意,设置为 AnyCPU 不支持使用本机映像编译器构建 添加 NuGet 包 这个本机映像编译器是通过...A: 这个优化的二进制文件将包含托管代码和本机代码,会让最终输出的文件更大 Q: 我是否可以在项目中使用这个技术?

    1.1K20

    .NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明

    WinForm程序中集成WebView2控件后,编译项目(不运行),查看编译后的内容如下 多了一个runtimes目录 三个子目录下包含相同的内容 WebView2Loader.dll是一个本机的...、特定于体系结构的二进制文件,开发者需要包含希望的应用程序在其中运行的所有二进制文件。...例如: 对于 x86,将包括 x86 版本的 WebView2Loader.dll。 对于使用 AnyCPU 的托管应用,将包括 x86、x64 和 arm64 版本。...WebView2Loader.dll 正确的版本从适当的特定于体系结构的文件夹加载  简单的说该DLL是一个引导程序,根据项目的目标平台类型,加载对应版本的WebView2控件的运行时环境。...对于.NET管理的应用程序,还需要包括WebView2 的.NET程序集,用于WebView2的核心功能(Microsoft.Web.WebView2.core.dll)和WinForms/WPF特定功能

    1.5K10

    .NET Standard中配置TargetFrameworks输出多版本类库

    9、重新编译项目,查看bin --> debug,生成了3种不同版本的目标程序集。 ?...> 二、引用本地程序集 在下图中可以看出由于3个不同的输出类库中所引用的程序集是不同的,那么当编译时,一定是每个类库进行单独编译,这时就就需要通过某种方式告诉编译器当前编译的类库版本是什么,然后添加针对具体版本的第三方程序集引用....NET Standard 指定多个目标框架时,可有条件地为每个目标框架引用程序集。...三、NuGet 方式引用程序集 下面演示添加一个多版本都支持的第三方类库,NLog 日志组件,目前最新版本为4.7.5。通过 NuGet 方式添加引用 ?...请了解下Roslyn中的确定性构建 其它生成方式、汇编内部版本号后面两位的生成规则,请看使用Visual Studio时是否可以自动增加文件构建版本、Visual Studio 2017中的自动版本控制

    3K21

    C# 如何在项目引用x86 x64的非托管代码

    因为现在的项目使用的是 AnyCpu 在 x86 的设备使用的是x86,在x64使用的是x64,但是对于非托管代码,必须要在x64使用x64的dll,在x86使用x86的dll。...在C++没有和C#一样的 AnyCpu 所以需要在项目运行在x86的时候加载x86的dll。 本文告诉大家如何在代码引用不同的dll。...使用宏 最简单的方法是编译两个版本,编译多个版本可以点击配置管理器,然后创建x86和x64,然后版本添加宏,这样就可以判断宏来使用不同的dll 点击活动解决方案平台,然后点击新建 选择项目属性,点击生成...实际上这句话是不对的,在没有设置默认查找的文件的时候就是这样,但是软件是可以设置查找文件。...private static extern bool SetDllDirectory(string path); 需要先把 x86 的 dll 放在程序的 x86文件夹,当然对于x64的大家也知道放哪里

    74620

    C# 如何在项目引用x86 x64的非托管代码

    因为现在的项目使用的是 AnyCpu 在 x86 的设备使用的是x86,在x64使用的是x64,但是对于非托管代码,必须要在x64使用x64的dll,在x86使用x86的dll。...在C++没有和C#一样的 AnyCpu 所以需要在项目运行在x86的时候加载x86的dll。 本文告诉大家如何在代码引用不同的dll。...使用宏 最简单的方法是编译两个版本,编译多个版本可以点击配置管理器,然后创建x86和x64,然后版本添加宏,这样就可以判断宏来使用不同的dll ? 点击活动解决方案平台,然后点击新建 ?...选择项目属性,点击生成,就可以添加不同的宏 ? 于是在后台代码可以这样写 ?...private static extern bool SetDllDirectory(string path); 需要先把 x86 的 dll 放在程序的 x86文件夹,当然对于x64的大家也知道放哪里

    2.1K10

    如何更精准地设置 C# .NET Core 项目的输出路径?(包括添加和删除各种前后缀)

    对于 .NET Core 所使用的 Sdk 风格的 csproj 格式来说,你可能会发现实际生成路径中带了 netcoreapp3.0 或者 net472 这样的子文件夹。...然而有时我们并不允许生成这样的子文件夹。本文将介绍可能影响实际输出路径的各种设置。 项目和输出路径 对于这样的一个简单的项目文件,这个项目的实际输出路径可能是像下图那样的。...)\$(TargetFramework.ToLowerInvariant())\ 如果以上所有属性都有值,那么生成的路径可能就像下面这样: bin\x64\Debug\win7-x64\netcoreapp3.0...$(RuntimeIdentifier) 这个值和 $(PlatformTarget) 互为默认值,任何一个先设置都会影响另一个;此值即 x86、x64 等标识符。...$(TargetFramework) 这是在 csproj 文件中强制要求指定的,如果不设置的话项目是无法编译的;可以通过 $(AppendTargetFrameworkToOutputPath) 属性指定是否将此加入到输出路径中

    1.9K20

    【.net】未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法 目录

    5、顺便说一下,在使用“Microsoft.Jet.OLEDB.4.0”,也会报类似错误,原因有可能是,Microsoft.Jet.OLEDB.4.0在64位系统上不支持,需要修改架构,从x64改为x86...此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。   ...注意: 在下载Microsoft Access Database Engine 2010 Redistributable时会让选择下载x86的还是x64的,如图: ?...前提是看服务器是x64的还是x86的,x64的服务器两个版本都能安装;   如果下载安装的是x64的,那么你的桌面程序就要选择anycpu或x64发布,而web项目是不兼容的,不管你是如何发布的;   ...如果下载安装的是x86的,那么你的桌面程序就要选择x86发布,而web项目正常发布就好; *总结:如果你是web项目,你就下载x86的,发布选anycpu就好了,然后设置应用程序池32位兼容就好了; *

    8.5K30

    C# WPF 嵌入网页版WebGL油田三维可视化监控 0x00 楔子0x01 寂静无声0x02 初步尝试0x03 CefSharp现身0x04

    因为我们的三维管理是基于网页的WebGL开发出来的,所以我想,寻找的方向是在WPF中找是否有类似浏览器的控件。...感觉CefSharp应该是可以支持WebGL功能的,所以决定试一试。 0x04 安装CefSharp 我决定使用NuGet来安装CefSharp包。如果你是做C# 开发的,相信应该对NuGet不陌生。...点击“管理解决方案的NuGet程序包”,在出来的界面的搜索框输入CefSharp,可以找到CefSharp相关的包,因为我们使用WPF,所以选择CefSharp.Wpf进行下载安装: ?...You need to specify platform (x86 / x64). 右键点击解决方案,选择属性,出现如下界面: ?...在配置属性 --》 配置下,把Release和Debug的平台都指定位特定的平台,比如x64。

    3K30

    为 .NET Core Framework 程序开启大内存感知(LargeAddressAware),使 32 位程序支持最多 4GB 的用户空间内存

    如果你不做特殊处理,把你的项目以 x86 的架构进行编译,那么你的应用程序在 Windows 上最多只能使用 2GB 的内存(地址空间)。...应用程序使用的内存空间分为用户空间和内核空间,每个 32 位程序的用户空间可独享前 2GB 空间(指针值为正数),而内核空间为所有进程共享 2GB 空间(指针值为负数)。...其他开启 LARGEADDRESSAWARE 的方法 不推荐的方法:仅适用于 .NET Framework 的旧方法 当时的那篇博客中,我提到过可通过编译成 AnyCPU (Prefer 32-bit)...因为 .NET Core 框架下编译时,是直接忽略 Prefer32Bit 的!.NET Core 下大内存感知确实是有了,但生成的却是 AMD64 程序,无法在 32 位系统下运行。...WPF 编译为 AnyCPU 和 x86 有什么区别 - 林德熙 IMAGE_FILE_LARGE_ADDRESS_AWARE Memory Limits for Windows and Windows

    83110

    WPF 使用 Win2d 渲染

    好在微软开放了一些黑科技,可以在 WPF 上使用 Win2d 渲染,下面就让我告诉大家如何在 WPF 上使用 在 2019年7月03日 这个技术还是属于黑科技,还没有正式发布,在开始使用之前,有一定的环境要求...需要 VisualStudio 2017 和以上,点击Visual Studio下载链接下载最新的工具 需要在 VisualStudio 的开发添加 UWP 和桌面开发 需要在设备安装 .NET Framework...4.7.2 及以上,同时新建项目需要选择 .NET Framework 4.7.2 和以上。...你正在尝试将此程序包安装到目标为“.NETFramework,Version=v4.8”的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系程序包作者。...(异常来自 HRESULT:0x8007007E)” 这个问题是在输出文件夹缺少文件,请确定当前使用的是 x64 的设备,同时进行 AnyCpu 编译,没有勾选首选 32 的程序 然后确定在 bin\debug

    1K20

    web未能加载文件或程序集“XXX”或它的某一个依赖项

    如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。...异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。...源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。...解决方法: 将应用程序生成为Any CPU就可以了 反之,如果系统是64位的Win7,就应该将新项目的生成目标平台改为x86 ?...综上: 64位的Win7 解决方案的生成目标平台设置为x86 32位操作系统 解决方案的生成目标平台设置为AnyCPU 另外一个网友的问题解决方法: 我遇到过这个问题有两次,不过环境不同。

    1.5K20

    web未能加载文件或程序集“XXX”或它的某一个依赖项

    如果你将应用程序生成x86而不是Any CPU时,在64位操作系统中不会出错错误,而在32位操作系统中可能会出现以下错误 “/xxxxx”应用程序中的服务器错误。...异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“xxx”或它的某一个依赖项。试图加载格式不正确的程序。...源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。...解决方法: 将应用程序生成为Any CPU就可以了 反之,如果系统是64位的Win7,就应该将新项目的生成目标平台改为x86 综上: 64位的Win7 解决方案的生成目标平台设置为x86 32位操作系统...解决方案的生成目标平台设置为AnyCPU 另外一个网友的问题解决方法: 我遇到过这个问题有两次,不过环境不同。

    2.1K20

    将浏览器嵌入 .NET 应用程序中:DotNetBrowser 还是 CefSharp?

    DotNetBrowser architecture 稳定性和内存使用 在单独的进程中运行 Chromium 有更多优点: 在这种情况下,内存消耗要低得多,这对于 32 位应用程序来说似乎很关键。...AnyCPU 在针对 AnyCPU 的应用程序中使用 CefSharp 时,您会发现它在这些应用程序的 64 位环境中无法正常工作。 这儿有几个选项[7]可以解决这个问题。...这种方法总体上简化了 UI 创建并节省了大量时间和精力。 CefSharp 提供有限的设计器支持[12]。如果应用程序本身以 x86 为目标,则其控件将在设计器中正确处理。...但是,在这种情况下,CefSharp 初始化和关闭是隐式执行的,很难确定它是否已经在某个点初始化。 将 DotNetBrowser 嵌入 WPF 窗口的过程需要额外的步骤。...DotNetBrowser是为使用.NET开发软件的商业公司设计和创建的商业产品,对集成第三方解决方案的质量和支持有很高的要求。

    66140

    将浏览器嵌入 .NET 应用程序中:DotNetBrowser 还是 CefSharp?

    DotNetBrowser architecture 稳定性和内存使用 在单独的进程中运行 Chromium 有更多优点: 在这种情况下,内存消耗要低得多,这对于 32 位应用程序来说似乎很关键。...AnyCPU 在针对 AnyCPU 的应用程序中使用 CefSharp 时,您会发现它在这些应用程序的 64 位环境中无法正常工作。 这儿有几个选项[7]可以解决这个问题。...这种方法总体上简化了 UI 创建并节省了大量时间和精力。 CefSharp 提供有限的设计器支持[12]。如果应用程序本身以 x86 为目标,则其控件将在设计器中正确处理。...但是,在这种情况下,CefSharp 初始化和关闭是隐式执行的,很难确定它是否已经在某个点初始化。 将 DotNetBrowser 嵌入 WPF 窗口的过程需要额外的步骤。...DotNetBrowser是为使用.NET开发软件的商业公司设计和创建的商业产品,对集成第三方解决方案的质量和支持有很高的要求。

    57420

    WPF 使用 Direct2D1 画图入门

    本文来告诉大家如何在 WPF 使用 D2D 画图。...现在的 WPF 底层使用的渲染是 Dx9 渲染 或使用 Dx11 Dx12 优化 fl9 渲染,所以性能实际上和直接使用 D2D 是差不多,但是 WPF 没有充分使用DX,所以如果自己写的性能会比较高...环境 如果直接使用这个库是无法运行,下面的代码只是作为大家快速入门,不能用于产品。安装这个库可以用在 x64 的进程,但是不能用在 x86 进程。...尝试右击项目点击属性,在生成页面就可以看到平台目标,选择 x64 就会编译 x64 的软件。...如果对于平台目标感觉有兴趣,请看WPF 编译为 AnyCPU 和 x86 有什么区别 创建工厂 首先打开 MainPage 的代码,添加下面代码 using D2D = Microsoft.WindowsAPICodePack.DirectX.Direct2D1

    88910

    WPF 使用 Direct2D1 画图入门

    本文来告诉大家如何在 WPF 使用 D2D 画图。...现在的 WPF 底层使用的渲染是 Dx9 渲染 或使用 Dx11 Dx12 优化 fl9 渲染,所以性能实际上和直接使用 D2D 是差不多,但是 WPF 没有充分使用DX,所以如果自己写的性能会比较高...环境 如果直接使用这个库是无法运行,下面的代码只是作为大家快速入门,不能用于产品。安装这个库可以用在 x64 的进程,但是不能用在 x86 进程。...尝试右击项目点击属性,在生成页面就可以看到平台目标,选择 x64 就会编译 x64 的软件。...如果对于平台目标感觉有兴趣,请看WPF 编译为 AnyCPU 和 x86 有什么区别 创建工厂 首先打开 MainPage 的代码,添加下面代码 using D2D = Microsoft.WindowsAPICodePack.DirectX.Direct2D1

    61810
    领券