0

我正在使用 FileHelpers.dll (v3.0.2.0) 来解析分隔文件。它在我的开发机器上工作正常,但在开发服务器上它在这个 LOC 上失败

var cb = new DelimitedClassBuilder("Delimited", delimiter);
// Do stuff, add fields, etc
Type cls = cb.CreateRecordClass();  // <<<<< This fails on the dev server only
var engine = new FileHelpers.FileHelperEngine(cls);

例外: Error Compiling Expression: Line 0: An assembly with the same simple name 'Modules.CSV, Version=1.0.0.1, Culture=neutral, PublicKeyToken=null has already been imported. Try removing one of the references or sign them to enable side-by-side.

我不明白为什么我没有得到同样的错误?

有什么建议么?

4

1 回答 1

0

通常,该错误意味着在您的开发服务器上,您有两个具有相同名称的程序集(不需要文件名而是程序集名称)。您通常会通过重命名项目属性中的一个程序集并重新编译来修复它。

由于您使用的是在运行时编译记录类的 FileHelpers,我猜想这与 ClassBuilder 中的命名空间与解决方案中的其他内容冲突有关。您可以使用显式设置命名空间

cb.NameSpace = "MyNameSpace";
Type cls = cb.CreateRecordClass();
于 2013-08-19T09:27:10.850 回答