C# 什么';程序集和类版本的兼容性如何?
我正在为版本的正确依赖关系版本控制而挣扎。我在一些文章中读到,库中对AssemblyVersion的每次更改都会导致需要重新生成引用此库的所有程序集。如果这是真的,我需要在设计依赖程序集的发布周期时格外小心,对吗 我想亲自验证论文,然后。。。我注意到这根本不是事实 我制作了一个控制台应用程序,它引用了dep1.dll(汇编版本1.0.0.0)并构建了它。然后我将dep1.dll更改为2.0.0.0版本,构建它并将其与1.0.0.0版本交换。运行控制台应用程序时,我预期出现错误“找不到版本为1.0.0.0的程序集dep1.dll”。你知道吗?没有什么特别的事情发生,应用程序使用了这个库,就像它从一开始就针对那个版本一样 ConsoleApp1/Program.csC# 什么';程序集和类版本的兼容性如何?,c#,.net,clr,versioning,fileversioninfo,C#,.net,Clr,Versioning,Fileversioninfo,我正在为版本的正确依赖关系版本控制而挣扎。我在一些文章中读到,库中对AssemblyVersion的每次更改都会导致需要重新生成引用此库的所有程序集。如果这是真的,我需要在设计依赖程序集的发布周期时格外小心,对吗 我想亲自验证论文,然后。。。我注意到这根本不是事实 我制作了一个控制台应用程序,它引用了dep1.dll(汇编版本1.0.0.0)并构建了它。然后我将dep1.dll更改为2.0.0.0版本,构建它并将其与1.0.0.0版本交换。运行控制台应用程序时,我预期出现错误“找不到版本为1.0
using dep1;
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var a = new Class1();
a.Prop1 = "asdf";
Console.WriteLine(a.Prop1);
}
}
public class Implementation : Interface1
{
public int Super { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
}
}
dep1/Class1.cs
namespace dep1
{
public class Class1
{
public string Prop1 { get; set; }
}
public interface Interface1
{
int Super { get; set; }
}
}
正如您所看到的,接口也是如此
你能解释一下为什么我的测试不起作用吗?这个,其他的答案()和哈克德的文章真的把我弄糊涂了