Visual Studio 2012注册标记前缀"无法完成操作".

And*_*ick 9 c# sitecore visual-studio knockout.js visual-studio-2012

我有以下代码行:

<%@ Register %>
Run Code Online (Sandbox Code Playgroud)

当我尝试添加这行代码时,Visual Studio会通知我这条无信息的消息:

"无法完成行动."

警告框有错误

我从Register语句中删除了一个字符,它给了我那条消息.我键入" <%@ Register %>"并给出消息.

我试图完整地添加这一行:

<%@ Register TagPrefix="sc" Namespace="Sitecore.Web.UI.WebControls" Assembly="Sitecore.Kernel" %>
Run Code Online (Sandbox Code Playgroud)

一些其他信息:

  1. 我正在使用Microsoft Visual Studio 2012.
  2. Sitecore.Kernel已添加到应用程序中的引用.
  3. 内核本身包含在应用程序中,并设置为复制本地.
  4. 应用此代码行正确构建应用程序,并由Sitecore正确呈现到页面.
  5. Sitecore.Kernel可用于后面的C#代码.
  6. 更新:11/26 4:28 PM此问题现在正在影响TFS解决方案的所有用户.
  7. 更新:12/2 9:38 AM我们创建了一个新的解决方案,并非常缓慢地将代码移植到它.如果它再次发生,仍在寻找这个问题的答案.这似乎是一个Visual Studio问题而不是Sitecore问题.
  8. 更新:12/13 4:31 PM完全移植到新的解决方案.所以我假设一个新的解决方案是解决这个问题.
  9. 更新:2014年1月14日:仍然没有答案.长号
  10. 更新:2014年3月21日: 我为Knockout.js添加了标签,因为我认为添加数据绑定到ASP标记已经导致了这个问题.它导致intellisense去疯狂和错误.用户@Jeroen在Visual Studio中也遇到此问题.

这是相关的代码:

<controls>
    <add tagPrefix="sc" namespace="Sitecore.Web.UI.WebControls" assembly="Sitecore.Kernel" />
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add tagPrefix="sc" namespace="Sitecore.Web.UI.WebControls" assembly="Sitecore.Analytics" />
</controls>
Run Code Online (Sandbox Code Playgroud)

小智 1

您可以删除或重命名解决方案的 suo 文件吗?删除之前请先备份您的文件。

解决方案用户选项 (.suo) 文件是以二进制格式存储的结构化存储或复合文件。您将用户信息保存到流中,流的名称将用作识别 .suo 文件中的信息的键。解决方案用户选项文件用于存储用户首选项设置,并在 Visual Studio 保存解决方案时自动创建。