Tag: 向后兼容性

Visual Studio 2010中的ASP.Net MVC 1.0

Visual Studio 2010是否与MVC 1.0兼容 大家好, 感谢提前阅读。 我正在使用MVC 1.0项目和VS2008。 我很高兴升级到VS2010,但我怀疑它与MVC 1.0的兼容性。 你做完了吗? 它是如何产生的?

除了早期的.NET框架版本之外,Visual Studio可以针对早期的C#语法吗?

简单的部分: 使用下拉列表在Visual Studio 2010项目中定位.NET 2.0框架。 困难的部分: 是否有可能针对特定的语法版本 – 例如var s = “hello world”在VS2008及更高版本中是有效的语法糖,但不能在VS2005中编译。 VS2010可以配置为在编译时标记这个吗?

如何测试.net程序集之间API的向后兼容性

我有一个提供API的程序集,并被其他程序集使用。 我需要validation较新版本的API dll是否仍然与使用旧版API的旧程序集兼容。 我发现了几个问同样的问题,但没有解决问题的答案: 用于validation公共API的兼容性的工具 用于C#/ .NET API的向后兼容性的工具 建议的工具只能比较两个程序集,并说明API中是否存在可能的重大更改,但如果最新的API确实破坏了使用它的旧程序集,则不会。 我想找一个工具或编写一个能够检查每个旧dll是否可以使用我的新API dll的测试。 至于API的变化,我更有可能只扩展它,但即使它仍然可以破坏旧程序集中的代码。 可以在此处找到一些此类更改的示例: .NET中API破坏性更改的明确指南 .NET:关于AssemblyVersion,什么定义了二进制兼容性? 现在,我看到的唯一解决方案是使用最新的API编译旧程序集的源代码,但我想只使用程序集并将它们作为unit testing的一部分添加。 有什么更好的办法可以解决这个问题吗? 编辑: 我正在寻找一种能够自动validation.net程序集之间向后兼容性的过程的工具。 (命令行或者也有api)

C#类向后兼容性规则/避免中断更改

我正在研究C#3.5程序集,它被企业服务器环境中的许多不同应用程序使用。 我想在现有的C#类(不是抽象)中添加一些属性,并保持与当前客户端的向后兼容性,而无需重新编译。 这是一个强烈命名的3.5程序集。 现有的客户端应用程序不会被重新编译。 相反,我们使用发布者策略程序集将现有客户端重定向到更新版本。 维护此类类向后兼容性的规则是什么? 我正在寻找一些规则,我可以validation我的代码更改。 在我当前尝试更新类客户端之后,抛出“找到的程序集的清单定义与程序集引用不匹配”exception。

ISerializable是否与具有较少字段的以前版本的类向后兼容?

对不起,如果我说这个问题有点奇怪! 基本上,我有一个可序列化的类,在当前时间只有一个字段,但随着我们向系统添加function,将来肯定会获得更多。 序列化过程将用于将实例传递给WCF服务,以及用于从/向文件读取/写入它。 当然,如果我不断用额外的字段更新类,后者可能是一个大问题。 幸运的是,我认为我已经通过在构造函数中的字段设置器周围添加了一个try / catch块来解决了这个问题,我也将对添加到类中的任何其他字段执行此操作。 /// /// Represents launch options supplied to an executable. /// [Serializable] public sealed class ExecutableLaunchOptions : ISerializable { /// /// Creates a new set of executable launch options. /// public ExecutableLaunchOptions() { } /// /// Creates a new set of executable launch options via deserialization. /// /// the […]

在Windows 7计算机上编写/编译的.NET 4程序将无法在XP上运行

我有一个应用程序,我在Windows 7 Ultimate计算机上使用Visual Studio 2010中的C#.NET 4.0编写。 这个应用程序在Vista和其他Windows 7计算机上运行良好,但每当运行Windows XP的人试图运行它时它会崩溃。 为了重现这一点,我尝试在我的Win XP VMWare机器上运行它,它在那里崩溃了。 不幸的是,它没有给我任何特定的错误,只是告诉我程序崩溃了,需要关闭。 另一位用户发给我的电话如下: Run-time error ‘339’ Component ‘vbalSGrid6.ocx’ or one of its dependencies not correctly registered: a file is missing or invalid. Code 0xe0434352 Flags 0x00000001 当我尝试在我的Virtual XP机器上运行它时,我没有得到那一点,我也确保在那里安装.NET 4.0。 可能导致这种情况的原因是,如果XP支持.NET 4框架,为什么app不会在XP中运行? 程序中使用的组件:DataGridView,ComboBox,Buttons,Labels,LinkLabel,NewtonSoft的JSON解析器,以及它的相关内容。 我很困惑,完全不知道从哪里开始。 想法? 更新 :嗯,尝试在XP上运行我最近创建的其他应用程序,它加载得很好。 两者之间唯一的主要区别(在我使用的组件中)是我使用NewtonSoft的JSON库,我实际上认为它是.NET 3.5组件。 更新2 :只是为了踢,我试图在我的Wind7机器上以“Windows XP SP3”兼容模式运行程序,它运行正常。 当然,我不知道“兼容模式”如何模仿真正的XP SP3环境,但我想我还是会给你信息。