So this seems like it should be a simple concept - but for some reason
I don't understand it.
So I've read everywhere that you can't use an assembly built in VS
2005 (specifically .NET 2.x) in an assembly built by VS 2003
(specifically .NET 1.x). However, I've never seen any Microsoft
document state that explicitly - just people posting it in their blogs
on in newsgroups.
However, I've also seen much discussion of the requiredRuntime and
supportedRutime tags for an application's app.config. So I add the
following to my assembly's app.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<supportedRuntime version="v1.1.4322" />
<requiredRuntime version="v1.1.4322" />
</configuration>
I compile the above, copy the assembly/dll into a VS 2003 project that
has a depedency on that dll and I get the error message:
Metadata file 'foo.dll' could not be opened -- 'Version 2.0 is not a
compatible version.'
Have I misunderstood the purpose of these tags? Also, I've seen some
discussion of using MSBee to get VS 2005 to actually produce previous
versions of .NET assemblies. If you need MSBee to achieve this - then
what is the purpose of these tags?
Thanks,
Novice
Mattias Sjögren - 31 Jan 2007 06:12 GMT
>Have I misunderstood the purpose of these tags? Also, I've seen some
>discussion of using MSBee to get VS 2005 to actually produce previous
>versions of .NET assemblies. If you need MSBee to achieve this - then
>what is the purpose of these tags?
<supportedRuntime> lets you specify for example that an application
compiled against 1.1 has been tested and works also with the 2.0
runtime.
Mattias

Signature
Mattias Sjögren [C# MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.