如何强制csc / mcs使用特定版本的程序集引用?

时间:2009-03-13 11:43:25

标签: .net compiler-construction mono nant assembly-resolution

我需要引用已签名程序集的特定版本。因为它存在于GAC中,所以编译器会选择“供应商”版本而不是我提供的版本(GAC版本号更高,即使它是较旧的API)。是否对基本/reference=Library.dll编译器选项进行了某种扩展,允许指定强名称?

我正在使用NAnt进行编译,因此<csc>基于任务的解决方案将是最佳的,但编译器命令行(csc AND mcs)也可以。

1 个答案:

答案 0 :(得分:1)

我发现了一个特定于NAnt的解决方法。在<references>任务的<csc>部分中,使用目录路径为程序集指定单独的<include>元素,以使其与GAC中的程序集不匹配。因此,当一个指定程序集的完整路径时,它将与编译器一起使用。这不是我的想法,但它确实有效。