【问题标题】:Xamarin WebView - No Intellisense in razorXamarin WebView - 剃须刀中没有智能感知
【发布时间】:2015-01-14 21:19:49
【问题描述】:

我正在尝试使用 razor-view 作为 UI 的 xamarin webView。但是 C# 代码的智能感知不起作用。

这是一个已知的错误还是我遗漏了什么?需要在 webConfig-file 中配置吗?

代码可以工作并构建,但是当我需要 razor intellisense 中的模型时将无法工作:

@model TestProject.Models.Model1

<html>
<head>
    <title>testProject</title>
</head>
    <body>
        @Model.Text
    </body>
</html> 

在我写 @model@Model 的地方,它只是说“无法解析符号...”

怎么办?

【问题讨论】:

  • 您是否在 Visual Studio 或 Xamarin Studio 中遇到智能感知问题?
  • @Blanthor 哦,对不起,是视觉工作室。

标签: c# razor xamarin


【解决方案1】:

关闭 Visual Studio 的所有实例。

进入您的“(Visual Studio 安装路径)\Common7\IDE\Extensions\Xamarin\Xamarin\3.9.483.0\” 并将System.Web.Razor.dll、System.Web.WebPages.dll、System.Web.WebPages.Deployment.dll这三个文件重命名为System.Web.Razor.bad、System.Web.WebPages.bad和System.Web.WebPages.Deployment.bad。

使用注册表编辑器搜索您的注册表并删除“RazorTemplatePreprocessor”键。

删除您的解决方案用户首选项文件:(解决方案名称).suo

当你启动 Visual Studio 时,你将再次拥有你的智能感知!

【讨论】:

  • 只是对我为什么这样做的评论。相关但非 Xamarin 问题指向 Views\Web.config 中的版本不匹配。 Xamarin 提供的这些文件实际上将版本设置为 3.9.483,这比 MVC5 文件当前所处的 3.0.0.0 更高。删除 RazorTemplatePreprocessor 键只是为了防止 xamarin 通过阻止他们尝试使用他们的自定义预处理来防止丢失他们的 dll 副本而出现任何问题,并且删除首选项文件只是为了删除他们可能引入的任何不兼容的格式更改。
  • 在我当前安装的 Xamarin 工具中,上面列出的 System.Web 文件都不存在 (4.1.0.530)。这个版本有什么修复吗?
【解决方案2】:

我们也遇到了这个问题,并在 Michael Ridland 的博客文章中以名为 MVCPolyfils 的项目的形式找到了解决方案。帖子和 .git 存储库可以在这里找到: https://github.com/rid00z/MVCPolyFils

我们添加了它并更新了我们的 .cshtml 标头中的引用,现在整个事情都可以享受了——真是一种解脱!

【讨论】:

  • 请在您的回答中引用相关部分。链接到外部站点应该只是为了引用它们,相关信息都应该在 Stack Overflow 上。
猜你喜欢
  • 2011-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 2015-02-17
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
相关资源
最近更新 更多