C# &引用;不允许更改64位应用程序”;在VisualStudio2008中调试时
我使用的是Visual Studio 2008,C#。我尝试使用“编辑并继续”(在调试时编辑代码),并出现以下异常: “不允许更改64位应用程序”C# &引用;不允许更改64位应用程序”;在VisualStudio2008中调试时,c#,visual-studio,64-bit,edit-and-continue,C#,Visual Studio,64 Bit,Edit And Continue,我使用的是Visual Studio 2008,C#。我尝试使用“编辑并继续”(在调试时编辑代码),并出现以下异常: “不允许更改64位应用程序” 为什么呢?有解决办法吗?x64中还没有实现编辑并继续功能。我还没有听到他们计划什么时候做的任何更新 另请参见,正如jcopenha所说,x64上还没有“编辑并继续”。64位CLR的当前版本不支持它。然而,有一个解决办法 你可以在电视上找到它 您需要使用x86的目标CPU编译托管程序集。这将导致使用32位CLR而不是64位CLR 对于VB项目,右键单击
为什么呢?有解决办法吗?x64中还没有实现编辑并继续功能。我还没有听到他们计划什么时候做的任何更新
另请参见,正如jcopenha所说,x64上还没有“编辑并继续”。64位CLR的当前版本不支持它。然而,有一个解决办法 你可以在电视上找到它 您需要使用x86的目标CPU编译托管程序集。这将导致使用32位CLR而不是64位CLR 对于VB项目,右键单击该项目并转到Properties/Compile/Advanced Compile Options/Target CPU并将其设置为“x86”。 对于C#项目,右键单击该项目并转到Properites/Build/Platform Target并将其设置为“x86”
希望有帮助。CLR级别的64位应用程序不支持编辑并继续,因此Visual Studio也无法实现它 解决此问题的最简单方法是将应用程序定向到x86芯片。这将导致它以32位进程的形式在Wow64模式下运行,因此能够ENC
我在MS Visual C#Express 2010中收到了相同的错误消息。不过这很有趣,因为应用程序肯定是配置为x86项目的 最后,我的.csproj文件中缺少以下行:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MY_CONFIG|x86'">
...
<PlatformTarget>x86</PlatformTarget>
...
</PropertyGroup>
...
x86
...
我不知道为什么它不见了。。。我想微软的Visual C#Express 2010并不是没有错误的;) Visual Studio 2013将支持64位代码的“编辑并继续”功能
.就我个人而言,我真正想要的是停止并编辑,而不是编辑并继续 因此,我只需关闭工具/选项/调试/编辑并继续 这样做会阻止那个讨厌的对话框纠缠我一开始不想要的功能:-)
非常重要:这两个选项都要求取消选中“启用优化”框。遗憾的是,64位上不支持编辑并继续。事实上,如果在调试64位应用程序时尝试使用“编辑并继续”,则会收到以下错误消息:“不允许更改64位应用程序” 许多用户可能不知道,默认情况下,在Visual Studio 2008中创建C#或VB项目时,项目的“平台”设置为“任何CPU”。这意味着,如果在32位操作系统上运行应用程序,应用程序将作为32位进程运行,同样,如果在64位操作系统上运行应用程序,应用程序将是64位的。“任意CPU”的结果是,当您尝试在64位操作系统上调试应用程序时,将无法使用“编辑并继续”功能 然而,有一个解决办法。在开发过程中,您可以将项目的平台设置为32位,这意味着您的应用程序将作为32位进程运行,即使在64位操作系统上也是如此。这被称为WOW64或“Windows上的Windows”,这基本上意味着您可以在64位操作系统上运行32位应用程序 那么,如何将项目的平台设置为32位?您需要使用VisualStudio配置管理器创建一个32位平台。下面是一个简短的演练
首先,从Build–>Configuration Manager打开“Configuration Manager”对话框。配置管理器对话框如下图所示。执行以下回答帮助:阅读这里,Jared,我有点希望.NET 4.0能解决这个问题,但事实似乎并非如此。“你能对此提供一些见解吗?”史蒂文,遗憾的是,这里没有太多的见解。64位ENC支持没有进入Visual Studio 2010/.Net 4(公平地说,我们在2010年解决了很多问题,新的ENC代码对语言团队或CLR来说都不便宜)。但要知道,微软明白缺少64位ENC是一个痛点和挫折的根源,我想它在Dev11的列表中排名很高。请对此问题投票-更改后不要忘记按CTRL+S键。:)我喜欢这个答案,因为它不涉及将目标平台更改为x86。