【问题标题】:Visual Studio 2015 Code Contracts Won't Update ProperlyVisual Studio 2015 代码合同无法正确更新
【发布时间】:2016-12-19 04:59:39
【问题描述】:

我有一个非常烦人的问题。 我已经安装了带有 Update 3 的 Visual Studio 2015 Enterprise。我想需要注意的一件重要事情是它没有安装在 C:\Program Files... 上,而是安装在 D:\Program Files...

我已从 Visual Studio 库安装了最新的代码合同,即“1.9.10714.2”。尽管如此,每次我打开 Visual Studio 时,我都会看到一条通知,它要我更新它,因为根据它,我安装的版本是“1.8.10107.10”。当我点击它时,它会将我带到同一个安装文件,它说我已经安装了该版本并询问我是否要修复它。

我尝试修复。它没有帮助。

我尝试卸载、删除文件夹(Common7\IDE...)。它没有帮助。

我尝试卸载 Visual Studio。它没有帮助。

最后我重新安装了窗户,以及所有东西,但我仍然遇到同样的问题。

没有任何帮助。

请帮帮我!

【问题讨论】:

  • 仅仅因为某些 IDE 扩展有问题而重新安装 Windows 是没有效率的。事实上,不必要的重新安装导致问题而不是修复它们。尤其是当问题是 vsix 文件中的普通错误版本号和一些剩余的注册表项时
  • 如果你用谷歌搜索版本号,你会发现这是一个已知问题,修复它的方法是addin's review page 顶部的第 10 条评论。或者您可以在新版本出现之前忽略警告
  • 我已重新安装,因为我认为这会导致代码合同无法正常工作。但我想问题出在其他地方。感谢您的信息!
  • 痛苦的经验告诉我们,只有当您 190% 确定需要 IDE 或操作系统时才应该重新安装,即知道确切的问题、原因、解决方法,并发现修复比重新安装成本更高.忽略警告不会付出任何代价。丢失设置或文件...

标签: visual-studio visual-studio-2015 code-contracts


【解决方案1】:

正如 Panagiotis 所说:在 VS 2015 中存在已知的 CodeContracts 错误,该错误似乎仍未修复。 您必须打开扩展程序的清单并手动将错误的版本更改为正确的版本。 扩展的清单文件位于 \Microsoft Visual Studio XX.X\Common7\IDE\Extensions\Microsoft\CodeContracts\1.9.10714.2 中,其中 XX.X 是 VS 版本。在我的机器上(VS 2015 + SQL 2014 + SSDT)有 11.0、12.0 和 14.0 文件夹,每个文件夹中都有清单。只有其中一个是错误的,所以我只修复了一个文件。您可以使用记事本或任何其他 XML 编辑器打开清单,它们是 XML 文件。

正确的清单如下所示:

<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
    <Metadata>
        <Identity Version="1.9.10714.2" Id="CodeContractsVSIX.MicrosoftResearch.990ACB05-1AAE-4fa6-A178-9BF28206012F" Language="en" Publisher="Microsoft Research" />
        <DisplayName>Code Contracts Tools</DisplayName>
    [...]
    </Metadata>
[...]
</PackageManifest>

【讨论】:

    【解决方案2】:

    根据我的回答 here,我已经安装了 CodeContracts v.1.10.10126.2-rc1,它与 Visual Studio 2015 一起工作(并且稳定)。

    此版本的 CodeContracts 是 DotNet CodeContracts 的第一个主要社区驱动版本,解决了您描述的问题(以及许多其他问题!)

    NuGet 包位于:https://www.nuget.org/packages/DotNet.Contracts/1.10.10126.4

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 1970-01-01
      • 2020-01-21
      • 1970-01-01
      • 2018-10-22
      • 2016-11-17
      • 1970-01-01
      相关资源
      最近更新 更多