我从VS2008中的C#编译器收到此错误。谷歌搜索它没有任何用处。我以前从未见过这个错误。任何人都可以对此有所了解吗?
有问题的代码行是我定义的类的实例化:
Frame frame = new Frame( // various arguments...
是的,构造函数存在。如果没有,那将是一个完全不同的错误。没有其他编译错误。这是项目中实例化此类的唯一点。在这一点上,我比任何事都更好奇。
(编辑)的 根据请求,类构造函数定义:
这是我打电话的那个:
public Frame(int startTime, int length, byte commandId)
另一个将对象作为参数。该对象包含其他构造函数提供的数据:
public Frame(Command command)
引用的Command
类在引用的单独程序集中定义,并且编译时没有错误。
答案 0 :(得分:18)
我想我找到了答案。或者,至少是造成这种特定错误的原因。
我开始查看所涉及的文件并检查任何过时或其他不一致的内容。其中一个集会过去是过时的。 VS会在没有错误的情况下构建它,但目标文件的修改日期不会改变。直到我手动删除该程序集并重建它才显示最新的二进制文件。
之后,我停止接收编译器错误消息。
答案 1 :(得分:1)
C ++ / CLI程序集中是否定义了Frame
?如果是这样,构造函数可能包含C#编译器不支持的参数。
答案 2 :(得分:0)
Reslove error build **“Visual Studio
中的语言”**不支持清除旧文件.DLL并重建项目
+删除当前项目中的旧.dll文件
+重新将参考新文件.dll添加到项目中
为什么?
因为,在更新新引用时,您可能会在项目中发生冲突(重复dll)
1.当前项目中的旧DLL和
2.DLL只是添加新的参考。