.net 4 向后兼容性

2024-01-20

在 .net 4 中开发的 Windows 应用程序引用在 .net 3.5 中开发的程序集,是否需要安装 .net 4 和 .net 3.5 才能运行该应用程序?

我怀疑是这样,正如我的观察之一。 此外,这感觉很合乎逻辑,因为两者的执行都需要不同的运行时。

[编辑] 我恍然大悟:)所以,这是我真正的问题 https://stackoverflow.com/questions/5525531/one-of-the-assemblies-in-ms-expression-encoder-sdk-fails-to-resolve这个问题在 SO 已经有一段时间没有得到答复了。如果你们能解决这个问题,我会很高兴!

应用程序的 app.config 已包含以下行。

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>

我不确定您是否需要安装 3.5。.net 4.0 CLR 能够加载用 .net 2.0 及更高版本编写的程序集,并且自 .net4 和 2.0 程序集以来,它们似乎不太可能运行不同版本的 CLR可以互相调用,无需任何互操作。

我所知道的是,如果您的可执行文件是 .net 4.0 程序集,则在某些情况下您可能需要修改 app.config 才能加载 .net 2.0 程序集。这是因为安全模型从.net 2.0中的CAS变成了简化系统 http://msdn.microsoft.com/en-us/library/ff527276.aspx in 4.0

对我来说,这似乎进一步表明,在将 .net 2.0 程序集加载到 .net 4.0 进程中时,实际上并未使用 .net 2.0 clr。

(.net 2.0和4.0指的是公共语言运行时版本,2.0、3.0和3.5均使用2.0版本的CLR)

-edit-

根据这个线程 http://social.msdn.microsoft.com/Forums/en/netfxgeneralprerelease/thread/bef443cc-5413-4322-8d9a-117abd2386d3,如果进程是 4.0,则不需要 .net 3.5 来加载 3.5 程序集。

-edit2-

以下是修改 app.config 的方法,让 .net 4.0 可执行文件在所有情况下(例如运行网络驱动器)加载 2.0 程序集

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.net 4 向后兼容性 的相关文章

  • 是否可以调整AppFabric缓存服务器来存储更大的对象?

    当我假设将较大的对象图添加到缓存中时 我收到 AppFabric 缓存服务器错误 错误代码 子状态 连接已终止 可能是由于服务器或网络问题或序列化对象大小大于服务器上的 MaxBufferSize 请求的结果未知 我确信这不是网络问题 我能
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 从网络共享运行 .NET 4.0 应用程序时出现异常

    我有一个 NET 4 0 C 控制台应用程序 该应用程序被部署到网络文件共享 我相信是 Windows 2000 Server 文件服务器 如下所示 server share Apps Beta Group JobName JobName
  • 静态构造函数和 BeforeFieldInit?

    如果类型没有静态构造函数 则将执行字段初始值设定项 就在使用该类型之前 或者在某个时间点突发奇想 运行时 为什么这段代码 void Main start Dump Test EchoAndReturn Hello end Dump clas
  • 生成多个随机数

    我想生成 25 个唯一的随机数并将它们列在控制台中 数字的长度应至少为 10 个字符 有什么简单的方法可以做到这一点吗 尝试将数字构建为字符串 并使用 HashSet 确保它们是唯一的 Random random new Random Ha
  • 有没有办法将复选框列表绑定到 asp.net mvc 中的模型

    我在这里寻找一种快速简便的方法来在模型中发生回发时绑定复选框列表项的列表 显然现在常见的做法似乎是这样的form GetValues checkboxList 0 Contains true 这看起来很痛苦而且不太安全 有没有一种方法可以绑
  • WCF 回调通道被过早处置?

    我的应用程序正在使用带有回调通道的 net tcp WCF 服务 由于某种原因 我无法发送事件回调 这就是我正在做的事情 所有代码都在服务器端 初始化时 OperationContext Context get protected set
  • 要传递给迭代器的值类型的可变包装器

    我正在编写一个需要传递可变整数的迭代器 public IEnumerable
  • C# 3 新功能帖子(与 .Net 3.5 功能无关)[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions Net F
  • PetaPoco 数据库类应该在每个请求时创建一次还是在每次需要时创建?

    对于 PetaPoco 我应该如何处理创建Database班级 我的应用程序可能会利用各种存储库 不完全是 DDD 存储库 更像是网关存储库 来封装查询 由于我将有多个需要访问同一数据库连接的存储库 因此我正在考虑创建一个基类 在构造函数中
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码
  • 了解 Lambda 表达式和委托 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经尝试解决这个问题很长一段时间了 阅读在线博客和文章 但到目前为止还没有成功 什么是代表 什么是 Lambda 表达式 两者的优点
  • MEF 错误,是循环依赖,现在是其他错误

    由于我的应用程序架构发生变化 我最近出现了循环依赖关系 该应用程序依赖于通过 MEF 加载插件的插件管理器 一切都工作正常 因为它看起来像这样 model cs Export Model public class Model public
  • 为什么 Convert.ToInt32(1.0/0.00004) != (Int32)(1.0/0.00004)

    为什么这段代码http ideone com YRcICG http ideone com YRcICG void Main double a 0 00004 Int32 castToInt Int32 1 0 a Int32 conver
  • 字典的线程安全

    如果我有一个 Dictionary
  • 为什么 .NET 4 中的差异仅支持引用类型?

    NET 4 支持协变和逆变 但是 仅支持引用类型 而不支持值类型 这是为什么 基本上 CLR 需要知道它可以将 源 类型的值视为 目标 类型的值 而不执行任何额外的转换 简而言之 源值的位模式必须有效 目标值 这陈述必须相同 否则 CLR
  • 在 .NET 4.0 中将任务与 Parallel.Foreach 一起使用

    我开始尝试向 Windows 窗体添加一个进度条 以更新 Parallel Foreach 循环中运行的代码的进度 为此 UI 线程必须可用于更新进度条 我使用 Task 来运行 Parallel Foreach 循环 以允许 UI 线程更
  • 如何使用 Lucene.NET 索引 Word 2003、2007 和 2010 文档

    我正在编写一个自定义 Lucene NET 索引器来启用 MS Word 文档的索引 索引器必须能够处理 MS Word 的最后三个版本 2010 2007 和 2003 该计划是使用作为 VS2010 的一部分安装的 VSTO 互操作程序
  • 错误:“无法在 Web 服务器上开始调试...”ASP.NET 4.0

    当我想在 IIS 服务器上创建网站时出现错误 我使用的是 Windows 7 和 Visual Studio 2010 我是否必须为 IIS 注册或配置 asp net 4 0 这里没有太多细节 但是当我尝试在刚刚从 3 5 更改为 4 0
  • 线程安全的异步字节队列

    我有一个回调方法 只要有新数据可用 就会调用该方法 public delegate void DataCallback byte buffer int offset int count 我想将其包装在一个实现与此类似的接口的类中 publi

随机推荐

  • 如何结合Flyway处理不在序列中的分支的合并

    我刚刚遇到了以下情况 测试服务器当前正在运行 Flyway 版本 1 V1 每当有任何内容推送到测试服务器上时 测试服务器都会自动更新 包括 Flyway 脚本 develop branch 开发人员决定开始在分支上开发新功能feature
  • 根据一组条件将数据框中的值替换为其他数据框中的值

    在 df1 中 我需要将 msec 的值替换为 df2 中的相应值 df1 lt data frame ID c rs rs rs tr tr tr cond c 1 1 2 1 1 2 block c 2 2 4 2 2 4 correc
  • 为什么我不能“转到默认值”或“转到案例 x;”在开关选择结构内?

    C11 第 6 8 1 节 http www iso 9899 info n1570 html 6 8 1 or C99 http www iso 9899 info n1256 html 6 8 1 或第 3 6 1 节C89 http
  • Android:我应该以什么方式将代码与样式分开?

    从 html php css 开始 Android 编程 我在网上搜索了一种将代码与样式分开的简单方法 现在我需要在列表或表格视图中显示数据库中的数据 简而言之 我从数据库获取一个游标 迭代它 在代码中动态创建每个列表项作为 TextVie
  • 如何在 leiningen repl 中预加载 clojure 文件?

    我希望在启动 clojure REPL 时预加载一些 clojure 函数 这些函数没有多大用处 除非您在 REPL 上下文中使用它们 如果有帮助 我通常使用 leiningen 为我启动 clojure REPL 我如何告诉 clojur
  • 函数是如何柯里化的?

    我了解柯里化的概念是什么 并且知道如何使用它 这些不是我的问题 而是我很好奇这是如何在比 Haskell 代码更低的级别上实际实现的 例如 当 2 4被柯里化 是一个指向2维持直到4被传入 甘道夫会扭曲时空吗 这是什么魔法 简短回答 是的
  • 将 S3 与 Active Storage 结合使用时出现“请求已过期”

    我是第一次使用 ActiveStorage 在开发中一切正常 但在生产 Heroku 中我的图像无缘无故地消失了 第一次显示正常 但现在没有显示图像 在控制台中我可以看到这个错误 GET https XXX s3 amazonaws com
  • 设置用户控件的默认事件

    我有一个User Control包含一堆控件 我想设置这个的默认事件User Control to the Click我的一个按钮的事件 我知道为了将默认事件设置为 UserControl 的事件之一 我应该添加以下属性 DefaultEv
  • 使用 MediaStore Android 10 下载大文件

    我正在尝试下载一个文件来下载Android 10及以上版本的目录 我做了如下 val resolver contentResolver val contentValues ContentValues apply put MediaStore
  • Yii - 从控制器动态更改规则

    假设我有一个可以有颜色的产品 根据产品类型 可能需要也可能不需要色域 如果总是需要颜色 我会在产品模型中包含以下内容 public function rules return array array colour required 但是 我
  • opencv函数中的内存泄漏

    我注意到我的程序的内存使用量有时会毫无意义地增加 特别是当我使用cvWaitKey 0 我的程序倾向于在 10 秒内将内存使用情况拍摄到一个巨大的大小 有解决办法吗 或者这是一个 OpenCv 错误 我有一个简单的函数叫做Show Imag
  • 数据集设计器问题 - Visual Studio 2008

    我们使用数据集在应用程序中的各个节点之间传递少量数据 数据集本身位于程序集中 因为它是许多其他组件的引用 Visual Studio 数据集工具养成了一个奇怪的习惯 即每次构建完成后都会创建一个新的设计器 所以 该项目看起来像这样 MyDa
  • Graphql 只查询非空对象

    我正在尝试执行这样的查询 people pet name result people pet null people pet name steve 我想要的是只得到包含宠物的人 有什么方法可以实现这一点而不是在我的解析器上编码 事实上 这是
  • Linux 内核模块 - 创建 proc 文件 - proc_root 未声明错误

    我从该 URL 复制并粘贴代码 以使用内核模块创建和读取 写入 proc 文件 但收到 proc root 未声明的错误 这个例子在几个网站上都有 所以我认为它是有效的 有什么想法为什么我会收到此错误吗 我的 makefile 需要不同的东
  • 如何在虚拟模式下自动调整列表视图的列宽?

    当我使用 TListView ViewStyle vsReport 时 我可以自动调整列的宽度 设置LVSCW AUTOSIZE or LVSCW AUTOSIZE USEHEADER http msdn microsoft com en
  • 当某些列有多个分隔符时,将 pandas 数据框从宽转换为长

    From 将 pandas 数据框从宽转换为长 https stackoverflow com questions 45123924 convert pandas dataframe from wide to long 45124130 4
  • 类型错误:Object(...) 不是第一个运行 webpack 的函数

    我尝试基于 webpack 运行我的应用程序 但在第一次运行期间出现错误 Uncaught TypeError Object is not a function at Object
  • 使用 KnpPaginatorBundle 对连接表进行排序

    我设置了一个测试来更加熟悉 Symfony2 和 KnpPaginatorBundle 我有一张包含宠物的桌子 其中引用了宠物动物类型 Dog Cat ETC 我可以按id name 但是当我尝试按动物排序时type我收到一条错误消息 指出
  • 将 Google 文档集成到网站中以进行内容创建

    我正在建立一个自助出版网站 我想将 Google 文档集成到我的网站中 并允许每个出版商 作家从我的网站编写她 他的书 然后从我的网站或直接从 Google 文档更新内容 并保持两个版本的内容同步 这可能吗 谢谢 是的 这是可能的 您可以获
  • .net 4 向后兼容性

    在 net 4 中开发的 Windows 应用程序引用在 net 3 5 中开发的程序集 是否需要安装 net 4 和 net 3 5 才能运行该应用程序 我怀疑是这样 正如我的观察之一 此外 这感觉很合乎逻辑 因为两者的执行都需要不同的运