【发布时间】:2011-04-13 01:26:28
【问题描述】:
我有一堆旧的 VB.NET 代码,最初是在 VS2005 上编写的,现在我不再拥有许可证。我下载了 VS2010 免费版,我只想对程序集/DLL 应用一个相对较小的补丁。现有的 Windows 服务(也用 VB.NET 编写)正在使用这个特定的 DLL,它是 TCP 远程实现的服务器端实现。
所以我需要我的补丁代码来兼容这一切。当我天真地试图在 VS2010 下构建,将 DLL 放置到位,然后重新启动服务时,它会因一些关于坏幻数或其他东西的错误而退出。 (我假设是因为它是 .NET 3.0 而 .NET 2.0 运行时不知道如何处理)。
抱歉拖了这么久,但我希望 VS 中有某种方式可以说“将其构建为 .NET 2.0 程序集”。如果这不可能,我有什么选择?
【问题讨论】:
-
.NET 2.0 运行时适用于 .NET 3.0 程序集。有关更多信息,请参阅有关 the correct version numbers for C# 的问题(是的,这是一团糟)。不过,您可能正在使用不在 2.0 框架中的库。机器上安装的版本是什么?
-
我猜这台机器只有.NET 2.0(显然是个问题)!代码没有使用 3.0 的任何东西......它都是旧的东西,我只是在修补它。我不想在盒子上安装 3.0,因为我并没有真正为这项工作获得报酬……我想尽可能少地让代码重新运行。
-
如果您的代码不使用 3.0/3.5 中的任何内容,并且机器安装了 2.0,它应该可以工作。你能发布你得到的确切错误吗?
-
它实际上是用 4.0 编译的(刚刚注意到),当我将运行时切换为使用 2.0 时,一切正常。