在使用Xamarin的Visual Studio 2015中,.cs文件的智能感知功能无法正常工作。

3
我在我的Xamarin项目中发现所有.cs文件都是杂项文件,未引用到.Droid项目。如下图所示:http://prntscr.com/cp3q4w 我的.cs文件没有Intellisense,并且似乎缺少对Xamarin.Forms的引用http://prntscr.com/cp3qzr,但是我没有因无法识别Xamarin组件而得到编译错误。这是一个Xamarin.Forms共享项目。
尝试了以下解决方案:i)清除缓存ii)打开解决方案iii)卸载所有项目iv)加载Android项目并修复Nuget引用v)一旦引用被修复,我就会加载共享项目。现在一切似乎都正常工作。但是,没有成功。
有人遇到过类似的问题吗?任何解决方案的建议?谢谢。

很多人在使用Xamarin和Intellisense时会遇到问题,比如我自己,它无法找到引用。通常唯一的最终解决方案是从头开始重新安装Xamarin。 - Gusman
我也尝试过了,但并没有帮助。项目设置对其他两个人的工作正常,但是当我从存储库下载时,问题就出现了。.CS文件是杂项且没有智能感知。 - Ilija Rushkovski
你能上传一张你的解决方案结构图吗?我不清楚的是“其他文件”部分,这是一个项目的名称吗? - Gusman
在 Xamarin 实现 IntelliSense 之前,请检查您是否已经从 Nuget 在 VS 扩展和更新中安装了 IntelliSense 包。 - Yuri S
http://prnt.sc/cx4xxh - Ilija Rushkovski
Yuri,在这台电脑上,这是VS的第一次安装。我从Xamarin网站下载了它(Xamarin for VS,需要大约30~35GB的空间进行完整安装,并且所有安装选项都是默认设置)。因此,在Xamarin实现之前,在VS扩展和更新中没有安装任何来自Nuget的智能感知包。 - Ilija Rushkovski
3个回答

3
我经常在Xamarin中遇到这个问题。 它有时会发生在我的PCL项目中,但在共享项目中发生得非常频繁。
以下其中之一应该可以解决它:
1)尝试进入工具->选项->文本编辑器->C#,确保"自动列出成员"和"参数信息"已被选中。 这几乎总是可以解决PCL项目的问题,而在共享项目中有时可以解决它。
2)尝试以下操作:
1. 关闭所有VS2015实例。 2. 在Windows资源管理器中,转到给你带来问题的解决方案所在的目录。 3. 在其中找到.vs子目录并将其删除。 注意:它可能是隐藏的,因此您需要显示隐藏文件。 4. 重新启动VS2015并打开解决方案。 IntelliSense应该再次正常工作。
关于第二种选择的一些说明:
- 需要注意的是,这样做也将删除其他特定于用户的解决方案设置,因此您可能需要重置启动项目。 - 如果您担心删除目录,可以尝试重命名它。 - 您必须确保所有VS2015实例都已关闭才能使此方法起作用。 不确定为什么会这样。 - 这不是永久性的解决方法。由于某些原因,IntelliSense最终会停止工作,您必须重复此过程。 这非常令人沮丧,我希望Xamarin或VS团队可以修复它。

1
Rand,谢谢你的回答。不幸的是,这两个建议对我都没有起作用。 - Ilija Rushkovski
删除 .vs 目录可以解决这个问题。不过这只是暂时的,一段时间后会再次出现 :) - nmdias

0

这个解决方案对我很有用。从解决方案资源管理器窗口中,右键单击共享项目并卸载它。关闭 Visual Studio 并重新运行。现在您可以从解决方案资源管理器中重新加载共享项目,这次智能感知会恢复正常。


0

Xamarin不支持长路径,因此如果项目或文件的名称过长,则Intellisense将无法工作。

完全限定的文件名必须少于260个字符,目录名必须少于248个字符

您可以启用跟踪来验证是否存在这些问题。

  1. 关闭Visual Studio。
  2. 打开Visual Studio开发人员命令提示符。
  3. 将环境变量TraceDesignTime设置为true(set TraceDesignTime=true)。
  4. 删除.vs目录/.suo文件。
  5. 从您设置环境变量的命令提示符中重新启动VS(devenv)。
  6. 打开解决方案。
  7. 检查C:\Users\[user_name]\AppData\Local\Temp\project_name_*.designtime.log并查找失败的任务(FAILED)。

典型情况:obj目录中一些生成的文件的名称过长。


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