首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MMC .Net运行时版本

MMC .Net运行时版本
EN

Stack Overflow用户
提问于 2009-07-13 10:38:50
回答 3查看 2.5K关注 0票数 0

我目前正在开发一个MMC管理单元,但遇到了一个很大的障碍--它是使用.Net 4.0框架完成的;而MMC正在加载以前版本的运行时。

使用旧版本的运行时并不是一个真正的选择,因为整个项目都是为4.0 (到目前为止是5000 LOC)编写的;这只是一个管理前端(想象一下:P)。

我检查了MMC注册表项,它的版本是v4.0.20506。我找不到任何其他的MMC .Net互操作配置。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-22 06:00:21

进一步了解这个问题后,我可以确认主机进程必须通过.NET 4.0中的some new APIs显式支持多个运行时。

我怀疑MMC (甚至在Windows7中)是否支持这些API,因为.NET 4.0也处于测试阶段。在不太可能的情况下,您可以通过在配置中使用supportedRuntime元素强制它使用它:

代码语言:javascript
复制
<configuration>
   <startup>
      <supportedRuntime version="v4.0.20506"/>
   </startup>
</configuration>

然而,如果做不到这一点,恐怕你就不走运了。那么您唯一的选择就是将您的项目更改为目标.NET 2.0。

或者,您可以编写一个非托管MMC管理单元来承载它自己的运行库并加载您的托管运行库。你有多需要这些.NET 4.0的特性?

票数 3
EN

Stack Overflow用户

发布于 2012-05-25 04:29:49

...or您可以使用以下环境变量强制MMC使用v4.0:

代码语言:javascript
复制
set COMPLUS_Version=v4.0.30319
票数 1
EN

Stack Overflow用户

发布于 2012-10-29 01:29:27

微软已经发布了这篇关于MMC和CLR版本http://msdn.microsoft.com/en-us/library/windows/desktop/gg983006(v=vs.85).aspx的文章,基本上,您可以创建一个神奇的环境变量,将CLR启动引导到特定于您的MMC管理单元的配置文件。

就我个人而言,我认为如果他们只是简单地将MMC.EXE改为使用CLR4,那么每个人的生活都会变得更容易,但出于某种原因,他们决定不这么做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1118754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档