在 Visual Studio 2013 中,您是否缺少了一个 `using` 指令或程序集引用?

12
大家好,我正在使用Xamarin.Forms开发跨平台应用程序时遇到了错误:“Are you missing a using directive or an assembly reference”。在安装Nuget包(Xamarin中的Circle Image View)之前,我的项目正常工作,但在卸载它(没有改变任何代码行)后,出现了上述错误。我尝试了Build、Rebuild,但仍然无法解决。有什么方法可以修复这个问题吗?感谢大家的帮助!
以下是错误信息:
错误1:
The type or namespace name 'Xamarin' could not be found (are you missing a using directive or an assembly reference?)
错误2:
The type or namespace name 'Application' could not be found (are you missing a using directive or an assembly reference?)
错误3:
The type or namespace name 'Xamarin' could not be found (are you missing a using directive or an assembly reference?)
错误4:
The type or namespace name 'ContentPage' could not be found (are you missing a using directive or an assembly reference?)

1
我们可能需要更多的信息。比如,首先需要哪个NuGet包? - user844705
此外,提供完整的错误信息将有助于解决问题。 - Damien_The_Unbeliever
尝试关闭Visual Studio,然后重新构建ULI,你的软件包可能出了问题。 - DarkMakukudo
@ojf 是的,因为当我安装Nuget时,出现了那个错误。希望这个错误会消失,我卸载了它。但是什么也没发生。 - Jaycee Evangelista
@Katana 我已经尝试过了,但是没有起作用 :( - Jaycee Evangelista
显示剩余2条评论
9个回答

21

当我的环境出现这样的错误时,我会按照以下步骤进行处理:

  1. 在Visual Studio中清除解决方案
  2. 关闭Visual Studio
  3. 手动删除整个解决方案中的所有"bin"和"obj"文件夹
  4. 手动删除"packages"文件夹
  5. 重新启动Visual Studio
  6. 重新构建所有项目

在大多数情况下,这可以解决引用问题(在我的情况下)。


1
Visual Studio 2017出现了这样的问题。这个解决方案对我有用。谢谢。 - Dpedrinha
1
到今天为止,这仍然是可以通过这种方式解决的问题。我也使用Visual Studio 2017,它对我也起作用。 - Alex
这个解决方案也解决了我的问题!我以为由于所有缺失的引用,这个项目已经丢失了。但是这样做修复了所有引用! :) 谢谢! - Exel Gamboa
软件包文件夹在哪里?您能否添加一下说明。 - Anup Buchke
@AnupBuchke 这取决于您如何设置nuget配置。默认情况下,应该在保存解决方案文件“.sln”的同一文件夹中有一个packages文件夹。(也许您可以检查一下这个链接:https://learn.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders) - Joehl
谢谢。删除“packages”文件夹对我有用。 - dcalmeida

4

看起来你可能缺少了Xamarin.Forms的包。

你能在“解决方案资源管理器”中扩展你的Packages目录,看看它是否在那里吗?


试试这个:

  1. 在“解决方案”选项卡中选择项目
  2. 顶部菜单中选择项目(Project)
  3. 选择 添加NuGet包...
  4. 搜索Xamarin.forms
  5. Xamarin.forms 添加到该项目

感谢您,伙计。花了一整天的时间才找到这个解决方案。在更新了Xamarin之后,我无法再识别资源了。我去Nuget包里看了一下,发现有一个xamarin.forms的更新。更新完成后,一切都按预期工作了。我真的非常感激您!!! - Gustavo Baiocchi Costa

3
  • 右键单击所引用的项目 -> 卸载项目
  • 右键单击所引用的项目 -> 编辑...
  • 在文件中的任何一行后添加一个空格
  • 保存
  • 右键单击所引用的项目 -> 重新加载项目

1
你卸载的是哪个NuGet包?你确定在代码中没有使用它。如果有任何引用,你将会收到此错误。
举个例子,如果你有:
using Ninject;

如果您卸载了Ninject,您将会遇到这个错误。


我安装了Circle Image View。是的,我确定在安装之前我的代码没有错误。 - Jaycee Evangelista

1
这种情况也发生在我身上,我的问题是编译dll时使用了比我要引用的项目版本更高的 .net 框架。

1
对我来说,将以下行添加到我的*.csproj文件中有帮助:
<Reference Include="...">
    <SpecificVersion>False</SpecificVersion>
</Reference>

0
除了手动删除“bin”和“packages”文件夹,还可以通过从“test.Android.csproj”文件中删除相关错误来解决问题。报错信息如下:

this project references nuget package(s) that are missing on this computer


0

我刚刚退出了Visual Studio然后再次启动,那个错误消失了!


-1

我的情况非常奇怪。我突然间因为一个文件而出现了这种情况,原因完全不明。

在删除和重新键入using指令后,错误消失了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接