由于无法删除二进制文件,Visual Studio构建错误

时间:2013-03-14 12:06:46

标签: c# .net visual-studio-2010

我有一个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)'   

对于解决这个问题的任何帮助,我将不胜感激。

修改

这是由于App具有自身的程序集引用。不确定是怎么发生的,但当我删除引用时问题得到解决。

1 个答案:

答案 0 :(得分:0)

您是否尝试过创建新项目?只需创建一个新项目并添加现有文件即可。 您还可以尝试删除解决方案文件夹中的bin和obj文件夹。

<强>已更新

这是一种自动化的黑客攻击,但它应该可行。 右键单击您的项目并打开其属性。转到构建事件并在预构建事件命令行中输入以下内容:

cd $(TargetDir)
del *.exe

这将在构建之前删除旧的二进制文件。 希望这会有所帮助。