C# 具有相同程序集文件名的外部别名

C# 具有相同程序集文件名的外部别名,c#,alias,extern,assembly-references,C#,Alias,Extern,Assembly References,我有一个问题,可以被视为问题的延伸,在这个问题中,用户遇到外部别名不工作的问题 我所经历的变化是两个项目输出相同的文件名。第一个(我们称之为Legacy,因为它是旧版本)包含已二进制序列化的类。第二个(当前)是my domain的下一个版本。我正在尝试创建一个转换库(兼容性),它将旧的映射到当前的,以便在新域中使用 由于这两个项目都生成到MyApp.Domain.dll,因此当程序集复制到输出文件夹以实现兼容性时,一个项目将被另一个项目覆盖。发生这种情况时,编译器无法识别同一程序集有两个版本,因

我有一个问题,可以被视为问题的延伸,在这个问题中,用户遇到外部别名不工作的问题

我所经历的变化是两个项目输出相同的文件名。第一个(我们称之为Legacy,因为它是旧版本)包含已二进制序列化的类。第二个(当前)是my domain的下一个版本。我正在尝试创建一个转换库(兼容性),它将旧的映射到当前的,以便在新域中使用

由于这两个项目都生成到MyApp.Domain.dll,因此当程序集复制到输出文件夹以实现兼容性时,一个项目将被另一个项目覆盖。发生这种情况时,编译器无法识别同一程序集有两个版本,因为实际上我只有一个同名文件

它看起来像这样:

Project          Output

MyApp            MyApp.exe
Legacy           MyApp.Domain.dll
Current          MyApp.Domain.dll
我意识到一个解决方案是改变Current的输出文件名(添加一个'V2'或类似的名称),但如果可以避免的话,我不希望这样做;我喜欢保留“MyApp.Domain”签名。或者,是否有一种方法可以指示编译器将Legacy的输出复制到输出文件夹的子文件夹中,然后在那里引用它们?是否有其他解决方案?

可能重复的解决方案