すべてのアセンブリは、アプリケーションが対象とする .NET Framework の型を使用します。
簡単なテストを次に示します。
次のクラスを持つ.NET Framework 2.0 クラス ライブラリであるプロジェクト ' Net2Library ' :
using System;
using System.Collections.Generic;
namespace Net2Library
{
public class Class1
{
public static List<string> GetStrings()
{
var strings = new List<string>();
Console.WriteLine("From Net2Library: {0}", strings.GetType().AssemblyQualifiedName);
return strings;
}
}
}
プロジェクト ' Net4Application ' は、Net2Library.dll を参照し、次のクラスを持つ.NET Framework 4.0 コンソール アプリケーションです。
using System;
using Net2Library;
namespace Net4Application
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("From Net4Application: {0}", Class1.GetStrings().GetType().AssemblyQualifiedName);
}
}
}
コンソール出力は次のようになります。
Net2Library から: System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken= b77a5c561934e089 Net4Application から: System.Collections.Generic.List`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken =b77a5c561934e089
次のリソースも確認できます:
.NET Framework Assembly Unification OverviewおよびAssembly Binding Redirection。