Bruen, Bruce
Bruce.Bruen at railcorp.nsw.gov.au
Mon Dec 12 23:36:23 CST 2005
See here http://www.asp.net/faq/SideBySide.aspx?tabindex=0&tabid=1 Here http://www.15seconds.com/issue/041223.htm >From the 1.1 SDK "side-by-side execution The ability to install and use multiple versions of an assembly in isolation at the same time. Side-by-side execution can apply to applications and components as well as to the .NET Framework. Allowing assemblies to coexist and to execute simultaneously on the same computer is essential to support robust versioning in the common language runtime. " Ditto - Read the last two sentences carefully and note "a high degree". "The .NET Framework provides a high degree of support for backward compatibility. For example, most applications created using version 1.0 will run on version 1.1. The .NET Framework also supports forward compatibility. However, for forward compatibility you might need to modify an application so that the application runs as expected. For both backward and forward compatibility, a change to the .NET Framework that improves security, correctness, or functionality might also raise compatibility issues." Now in the 2.0 SDK we get a bit less promising "The degree of .NET Framework support for backward and forward compatibility is version-specific. The .NET Framework supports both backward and forward compatibility for applications created using version 1.1 only. It does not support forward compatibility in applications created using version 2.0. In the context of the .NET Framework, backward compatibility means that an application created using an early version of the .NET Framework will run on a later version. Conversely, forward compatibility means that an application created using a later version of the .NET Framework will run on an earlier version. The .NET Framework provides a high degree of support for backward compatibility. For example, most applications created using version 1.0 will run on version 1.1 and applications using version 1.1 will run on version 2.0. The .NET Framework also supports forward compatibility for version 1.1 only. However, for forward compatibility you might need to modify an application so that the application runs as expected. Applications created with version 2.0 will not run on earlier versions of the .NET Framework. For both backward and forward compatibility, a change to the .NET Framework that helps improve security, correctness, or functionality might also raise compatibility issues. For more information about compatibility and for a list of the public API modifications to the class library that might affect the compatibility of your application, see Compatibility Considerations and Version Changes . Now if we go to "Compatibility Considerations and Version Changes " This is a sample of the type of info we find System.Windows.Forms System.Windows.Forms.AccessibleStates Valid Message: This enumeration value has been deprecated. There is no replacement. System.Windows.Forms.Control Scale(Single ratio) Message: This method has been deprecated. Use the Scale(SizeF ratio) method instead. Scale(Single dx,Single dy) Message: This method has been deprecated. Use the Scale(SizeF ratio) method instead. System.Windows.Forms.ListBox AddItemsCore(Object[] value) Message: This method has been deprecated. There is no replacement. System.Windows.Forms.ComboBox AddItemsCore(Object[] value) Message: This method has been deprecated. There is no replacement. System.Windows.Forms.Form ApplyAutoScaling() Message: This method has been deprecated. Use the ApplyAutoScaling method instead. GetAutoScaleSize(Font font) Message: This method has been deprecated. Use the AutoScaleDimensions property instead. AutoScale Message: This property has been deprecated. Use the AutoScaleMode property instead. System.Windows.Forms.Label RenderTransparent Message: This property has been deprecated. Use BackColor instead. System.Windows.Forms.PrintPreviewDialog AutoScaleBaseSize Message: This property has been deprecated. Use the AutoScaleDimensions property instead. Particularly note the "There is no replacement" item if your code uses that 1.1 element it wont work. All this can be avoided by retaining both runtimes on the machine. bruce This e-mail and any attachments may contain confidential information that is intended solely for the use of the intended recipient and may be subject to copyright. If you receive this e-mail in error, please notify the sender immediately and delete the e-mail and its attachments from your system. You must not disclose, copy or use any part of this e-mail if you are not the intended recipient. Any opinion expressed in this e-mail and any attachments is not an opinion of RailCorp unless stated or apparent from its content. RailCorp is not responsible for any unauthorised alterations to this e-mail or any attachments. RailCorp will not incur any liability resulting directly or indirectly as a result of the recipient accessing any of the attached files that may contain a virus.