由于删除二进制文件失败而导致的Visual Studio生成错误
本文关键字:Visual Studio 错误 于删除 删除 失败 二进制文件 | 更新日期: 2023-09-27 18:03:57
我有一个c# Windows窗体应用程序(让我们称之为App.exe),由于一个奇怪的原因,它无法构建。这似乎是由于Visual Studio 2010中的一个错误。我不能升级到VS2012。
- 在代码更改和构建之后,VS2010似乎无法删除旧的二进制App.exe。然后,它发现旧二进制文件中的一些类型,并抛出错误"调用在以下方法或属性之间是模糊的"。
- 错误消息中显示的类型相同。所以我认为它可以在旧的二进制文件和源代码中找到类型。
- 当我清理和重建,或删除旧的二进制App.exe从磁盘,构建成功
下面是我遇到的错误类型的一个例子:
The call is ambiguous between the following methods or properties:
'App.Namespace.Class.Method(System.Type)'
and
'App.Namespace.Class.Method(System.Type)'
如果能帮助我解决这个问题,我将非常感激。编辑
这是由于应用程序有对自身的程序集引用引起的。不知道这是怎么发生的,但是当我删除参考时,问题被修复了。
您尝试过创建一个新项目吗?只需创建一个新项目并添加现有文件。您还可以尝试删除解决方案文件夹中的bin和obj文件夹。
这是一种自动破解,但它应该工作。右键单击项目并打开其属性。转到Build Events并在Pre-build event命令行中输入以下内容:
cd $(TargetDir)
del *.exe
这将在构建之前删除旧的二进制文件。