Visual Studio 2015代码合同无法正常更新

时间:2016-08-12 08:39:09

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

我有一个非常讨厌的问题。 我已经安装了Visual Studio 2015 Enterprise和Update 3.我想,有一点需要注意的是,它没有安装在C:\ Program Files ...上,而是安装在D:\ Program Files ...

我已经安装了Visual Studio Gallery中的最新代码契约,即" 1.9.10714.2"。不过,每次我打开Visual Studio时,我都会看到一个通知,它希望我更新它,因为根据它,我安装的版本是" 1.8.10107.10"。当我点击它时,它会将我带到相同的安装文件,该文件说我已经安装了该版本,并询问我是否要修复它。

我试过修理。它没有帮助。

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

我尝试卸载visual studio。它没有帮助。

最后我重新安装了Windows,以及所有内容,我仍然遇到同样的问题。

没有帮助。

请帮助我!

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

根据我的回答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

相关问题