Visual Studio 帮助系统的目标框架版本错误。

9
有时候,在 Visual Studio Code 编辑器中按下 F1 后,它会打开 .NET Micro Framework 的 MSDN 页面,而我的项目使用的是 .NET Framework 4.5,并没有使用 Micro Framework。
例如,在我的代码编辑器中按下 F1 键,会打开此链接:这个链接,而不是打开这个链接
有人遇到过相同的问题吗? 更新:
正如 Jeff Braaten 建议的那样,我检查了调试帮助上下文并且看起来没问题。例如,对于 ActionMulticastDelegate 上下文之间唯一的区别就是关键字。
生成的 URL 也是相同的,例如对于 Action:
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1
&l=EN-US&k=k(System.Action);
k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);
k(DevLang-csharp)&rd=true

对于 MulticastDelegate

http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1
&l=EN-US&k=k(System.MulticastDelegate);
k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);
k(DevLang-csharp)&rd=true

因此,很可能不是VS生成请求的方式有问题,而是MSDN搜索引擎解释请求的方式有问题。

你是使用离线还是在线帮助? - hoooman
我正在使用框架4.0,它打开了一个正确的页面,即针对4.0版本的页面。 - ganesh
我试图将链接中的 v4.5 更改为 v4.0,现在它打开的是:http://msdn.microsoft.com/en-us/library/vstudio/system.multicastdelegate(v=vs.100).aspx - Anri
将设置Help -> Change Help Preference更改为Launch in HelpViewer会导致在帮助查看器中打开正确的链接。 - Anri
1
你可能想在你的Debug Help Context中查看TargetFrameworkMoniker。 - Jeff Braaten
@JeffBraaten TargetFrameworkMoniker=.NETFramework,Version=v4.5 但还是谢谢,我不知道那些东西。我认为问题在于微软的端口,因为URL传递正确,只是4.5的结果有误。 - Anri
3个回答

10

这是F1和Visual Studio 2012存在的已知问题。我们正在努力解决,目前还没有解决方法。现在,您需要使用搜索来找到正确的主题。 Robin Reynolds-Haertle,文档经理


1
谢谢,我可以在某个地方跟踪问题的状态吗? - Anri
1
同意Anri的评论。13个月后,在完全不同的VS版本中,我仍然遇到了这个问题。 - pbristow
4
根据@pbarranis的说法,这个问题在VS2013中仍然存在。对于此问题,已经有一个Connect错误报告(https://connect.microsoft.com/VisualStudio/feedback/details/816618/f1-shows-api-reference-for-net-micro-framework),我鼓励所有遇到此问题的人去投票,希望微软能在下一个Visual Studio发布之前修复它。 - Ian Kemp
看起来微软选择不修复这个漏洞;由@Ian Kemp引用的Connect bug已于2014年12月18日关闭。 - Mr. T

6
看起来,Visual Studio在构建版本键值对时使用了=而非-,当地址进行URL编码时,这会转换为%3D
如果您替换URL中此部分中的%3D
 k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);

使用-,您可以获得正确的.NET Framework 4.5 MSDN页面
因此,MulticastDelegate的正确地址应该是:
http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1
&l=EN-US&k=k(System.MulticastDelegate);
k(TargetFrameworkMoniker-.NETFramework,Version-v4.5);
k(DevLang-csharp)&rd=true

很好的发现,但是似乎用一个更改“=”为“-” 的Windows更新来修复这个问题已经超出了微软的能力范围。 - Ian Kemp

2
我知道在F1和Visual Studio方面已经存在了很长时间的问题,但现在这个问题已经被彻底解决了。因此,当你在Visual Studio中按下F1键时,MSDN应该会为你打开正确的主题。

您能否提供一个版本变更清单或其他围绕这个修复的文档?另外,请注意应在哪个版本首次注意到此修复。 - Nathaniel Ford
这个修复没有版本变更列表,因为它是针对 MSDN 网站及其内容页面(如关键元数据信息丢失)的修复。.NET Framework 4.5 和 4.6 的页面最近已经重新发布,所以现在当有人按 F1 键时,MSDN 可以找到正确的页面。 由于最初发布的问题不再重现,我不确定我怎么可能回答不同的问题。为什么一个说我们正在修复的答案是可以接受的,但一个说这个问题已经解决了的答案却不行呢? - Maíra Wenzel - MSFT
这是针对这个工作追踪的连接错误:[Connect bug 1312747](https://connect.microsoft.com/VisualStudio/feedback/details/1312747/f1-in-vs-shows-documentation-for-the-wrong-target-framework-e-g-micro-framework) - Maíra Wenzel - MSFT

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