问题标签 [corflags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
74131 浏览

.net - 我应该从哪里下载 CorFlags.exe?

我正在运行 Windows Server 2008 64 位“工作站”,并且想要获取corflags.exe。我需要下载哪个 SDK?

我知道.NET Framework 2.0 软件开发工具包 (SDK) (x64)适用于 Windows Server 2008 和 .NET Framework 3.5 的 Windows SDK,但我希望能找到更小的东西,因为这些下载量很大。

另外关于 2.0 SDK 的注释似乎建议下载 3.5 的,我应该遵循吗?

0 投票
2 回答
1186 浏览

.net - x64 .NET 编译/进程资源管理器怪异

如果我要说的任何内容毫无意义或忽略了一些显而易见的事情,我深表歉意——我对 CLR 内部的了解参差不齐。

如果我理解正确,那么如果我只是在 VS2K5 中为“AnyCPU”构建一个解决方案(或使用这些设置将 MSBuild 指向那个 .sln 文件),那么二进制文件只能编译到 MSIL。然后,如果在 32 位平台上执行,它们会被 JITted 到 32 位;如果在 x64 上执行,它们会被 JITted 到 64 位代码......对吗?

DLL 用于 Web 应用程序并托管在 W3WP.exe 进程中。Process Explorer 告诉我 W3WP 是一个 64 位进程。

但是,当我使用 Process Explorer 在 DLL 视图中检查其中一个 DLL 的属性时,它会显示:“图像:32 位”。是什么赋予了?

如果我对有问题的 dll 运行 corflags,它会告诉我: ILONLY 1 , 32BIT 0 but PE PE32 。我的理解是,这意味着是的,它只编译到 IL,不,它不限于 32 位或 64 位,但我并不完全清楚。PE32 标志是否与上述显示为 32 位有关?

0 投票
2 回答
1619 浏览

.net - 为什么在将 x64 程序集标记为 x86 时 corflags 实用程序不发出警告?

如果我将 MyApp.exe 的平台标志设置为 x64,我仍然可以像这样运行 corflags 实用程序:
corflags /32bit+ MyApp.exe
corflags 很乐意将 32bit 标志设置为 1。当然,当我尝试运行应用程序时我会收到一个错误:0xC000007B =STATUS_INVALID_IMAGE_FORMAT

我的问题是:有没有一种方法可以使构建到 x64 的程序集可以作为 x86 运行,或者只是 corflags 实用程序不“关心”?

0 投票
1 回答
5093 浏览

teamcity - 64 位上的 NCover - CorFlags 修复 - corflags:错误 CF008:指定的文件没有有效的托管标头

我正在尝试应用修复程序以允许 NCover v1.5.5 通过我的 TeamCity 持续集成服务器在 Windows Server 2008 X64 上运行,如本博客所述:

http://abdullin.com/journal/2008/6/6/how-to-run-free-ncover-on-a-64-bit-machine.html

这是我的日志:

所以我试图应用 CorFlags 技巧使其工作,但我收到一个错误:

C:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin>CorFlags.exe D:\TeamCity\build Agent\work\a65ff8d0771db303\tools\NCover\NCover.exe /32BIT+

Microsoft (R) .NET Framework CorFlags 转换工具。版本 2.0.50727.42 版权所有 (c) Microsoft Corporation。版权所有。

corflags:错误 CF008:指定的文件没有有效的托管标头

有任何想法吗??帮助!

0 投票
4 回答
2796 浏览

c# - 如何以编程方式设置或清除 32BIT 标志?

编译时,我总是将其设置为 Any CPU。然而,有些客户没有所需二进制文件的 64 位版本,即使在 x64 系统上运行时也是如此。在这些情况下,我要求他们使用 corflags.exe /32BIT+ 选项修改我的二进制文件:

http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx

如果 64 位版本不存在,我想让它透明并在安装期间自己修改二进制文件。我不希望自己调用 corflags.exe,因为这意味着我需要重新分发应用程序,这在我们的运输要求中是不允许的。

所以我的问题是;有没有办法自己以编程方式修改这个标志,或者直接修改二进制文件(它只是在文件本身的某处设置一个字节)?

0 投票
1 回答
4164 浏览

c# - CorfFlags warning CF011 about strong name signed even after /force

Im trying to use Corflags to get PartCover running under x64. When I use:

CorFlags.exe PartCover.exe /32BIT+ /Force

i get: corflags : warning CF011 : The specified file is strong name signed. Using /Force will invalidate the signature of this image and will require the assembly tobe resigned.

without /force i get:

corflags : error CF012 : The specified file is strong name signed. Use /Force to force the update.

On web there appears that others are runnig partcover throught corflags with no problems...

0 投票
3 回答
2636 浏览

.net - 如何确定(通过代码)装配标志?

我需要编写一个类似 CorFlags 的应用程序。如果我有汇编文件的路径,我如何读取它的 CorFlags?

我特别需要知道程序集是 Any-CPU 还是 x86

我想避免使用反射加载程序集,因为我需要扫描许多文件。

0 投票
1 回答
278 浏览

.net - 为什么 .NET x86 windows 服务在任务管理器中没有显示为 *32?

我使用 .net 3.5 创建了一个虚拟 Windows 服务。该服务已针对 x86 显式编译(设置了 32BIT corflag)。

SysInternals 的 Process Explorer 将进程正确识别为 32 位进程。但是,任务管理器不会将“*32”附加到进程名称。

这是为什么?

干杯,亚历克斯

0 投票
3 回答
1538 浏览

.net - PartCover 2.5.3 赢得 7 x64

你能告诉我你是如何让 PartCover 与 VS2008 一起运行并赢得 7 x64 的吗?基于这篇文章How do I run PartCover in x64 windows,我跑了

c:\Program Files (x86)\Gubka Bob\PartCover .NET 2.3>CorFlags.exe PartCover.exe /32BIT+ /Force

结果

Microsoft (R) .NET Framework CorFlags 转换工具。版本 3.5.21022.8 版权所有 (c) Microsoft Corporation。版权所有。corflags : 警告 CF011 : 指定的文件是强名称签名的。使用 /Force 将使该图像的签名无效,并要求程序集被退出。

我也跑了

c:\Program Files (x86)\NUnit 2.5.2\bin\net-2.0>CorFlags.exe nunit.exe /32BIT+ /Force

结果

Microsoft (R) .NET Framework CorFlags 转换工具。版本 3.5.21022.8 版权所有 (c) Microsoft Corporation。版权所有。

另外,基于我的讨论Using PartCover 2.3 with .NET 4.0 runtime? ,我也试过用x86版本的NUnit

我试图覆盖的是 NUnit 2.5.2 的 c# money 样本

我也一样System.Threading.ThreadInterruptedException--->

System.Runtime.InteropServices.COMException (0x80040153):检索具有 CLSID {FB20430E-CDC9-45D7-8453-272268002E08} 的组件的 COM 类工厂失败,原因是以下错误:80040153

谢谢

编辑:与 PartCover 2.2 相同

我的设置:

  • exe文件:C:\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\nunit-console-x86.exe
  • 工作目录:c:\Program Files (x86)\NUnit 2.5.2\samples\csharp\money\
  • 工作参数:/config=c:\Program Files (x86)\NUnit 2.5.2\samples\csharp\money\cs-money.csproj rules: +[*]*
0 投票
2 回答
2156 浏览

tfs - 尝试从 TFS Build 2010 运行 corflags

我在 TFS 2010 中使用 InvokeProcess 活动来尝试在构建的 exe 上运行 corflags 应用程序。

但是我收到以下消息:

corflags : 错误 CF001 : 无法打开文件进行写入

我在我的本地机器上运行 TFS 构建代理,因为我目前处于测试阶段,当我从命令行运行完全相同的命令时,corflags 应用程序完成而没有错误。

任何想法将不胜感激。