具有相同程序集文件名的extern别名

时间:2013-03-06 03:57:29

标签: c# alias extern assembly-references

我遇到的问题可能会被视为this问题的扩展,其中用户遇到外部别名无效的问题。

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

由于两个项目都构建到MyApp.Domain.dll,当程序集被复制到 Compatibility 的输出文件夹中时,另一个项目会被另一个项目覆盖。发生这种情况时,编译器无法识别出我有两个版本的同一个程序集,因为我实际上只有一个具有该名称的文件。

它看起来像这样:

Project          Output

MyApp            MyApp.exe
Legacy           MyApp.Domain.dll
Current          MyApp.Domain.dll

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

0 个答案:

没有答案