Visual Studio 2017 已知问题

Last Update: 2017/10/30

请访问当前发行说明页,了解有关 Visual Studio 2017 的详细信息。 也可访问下载页,获取其他 Visual Studio 产品。

注意

我们一直坚持听取用户的反馈。 若要查搜索最新问题、记录新问题和投票赞成现有问题,请访问开发者社区站点。


安装问题

无法启动 Cloud Explorer

  • 问题:

    如果使用 Web 开发工作负载安装 Cloud Explorer,Cloud Explorer 可能会在启动时失败,并显示错误消息“运行 Visual Studio 时,安装程序无法继续”。 请关闭 Visual Studio,然后重试。” 错误原因是缺少依赖项。

  • 解决方法:

    安装 Azure 开发工作负载,然后重新启动 Cloud Explorer。

断开 Internet 连接后,使用脱机安装文件夹不会安装 Windows 仿真器

  • 问题:

    在断开 Internet 连接的情况下使用带 Windows 10 移动版仿真器(创意者更新)的脱机安装文件夹安装 Visual Studio 时,Visual Studio 安装程序将完成且显示消息“安装完成但出现警告”,并且 Windows 仿真器安装失败。

  • 解决方法:

    分别安装 Windows 10 移动版仿真器和 Visual Studio。

    1. 打开 Visual Studio 脱机安装文件夹,并导航到“Win10_Emulator_10.0.15063,version=10.0.15063.12,chip=x64”。
    2. 运行 EmulatorSetup.exe 以安装 Windows 仿真器。

      若尚未安装 Visual Studio,可先安装 Windows 仿真器。

      1. 使用上述说明安装 Windows 仿真器。
      2. 运行 Visual Studio 安装程序以安装 Visual Studio。此时安装程序不会出现警告。

DISM 失败或导致设置挂起

  • 问题:

    当使用 DISM(如 NetFx4Extended-ASPNET45)启用特定的 OS 功能时,Visual Studio 可能报错。 这可能是清单损坏造成的结果。

  • 解决方法:

  • 以管理员身份打开一个命令提示符,然后运行 dism /online /cleanup-image /restorehealth 修复 DISM 清单
  • 重新启动
  • 修复 Visual Studio

编辑器和 IDE 问题

使用 Windows 预览体验计划内部版本时,更改后的文件在解决方案资源管理器中显示暂停/警告符号。

  • 问题:

    在一些 Windows 预览体验计划内部版本中,在 .NET Core、UWP 和共享项目中保存文件,可能会导致更改后的文件旁边显示暂停/警告符号。

  • 解决方法:

    暂停/警告符号是良性的,可以安全忽略。 重新加载解决方案即可删除暂停/警告符号。

GoTo 处于活动状态时打开项目可能导致 Visual Studio 崩溃。

  • 问题:

    GoTo 处于活动状态时打开项目可能导致 Visual Studio 崩溃。

  • 解决方法:

    请在尝试打开一个新项目之前确保 GoTo 已关闭。

JavaScript IntelliSense 停止运行

  • 问题:

    打开 JavaScript 代码超过 25Mb 的项目时,它将显示错误“已对项目禁用语言服务,因为它包含大量 .js 文件。 请考虑使用“tsconfig.json”文件的“exclude”部分排除文件。

  • 解决方法:

    使用如下代码向项目根添加 tsconfig.json

    {
        "compilerOptions": {
            "allowJs": true,            // These settings apply to .js files as well as .ts files
            "noEmit":  true             // Do not compile the JS (or TS) files in this project on build
        },
        "exclude": [
            "node_modules",             // Don't include any JavaScript found under "node_modules" or "bower_components"
            "bower_components"
        ]
    }
    

    Add additional folders with JavaScript code libraries. Another common one is Scripts/Office/1 if you're using office-js.

TypeScript 在 ASP.NET Core 项目中无法识别

  • 问题:

    ASP.NET Core 项目中的 TypeScript 文件不具有任何 IntelliSense 且当前未在生成中编译。

  • 解决方法:

    向项目根添加一个空的 tsconfig.json 文件。

NuGet 问题

使用包管理器控制台时,“Enter”键有时不起作用

  • 问题:

    有时无法在包管理器控制台中使用 Enter 键。 如果看到此内容,请在修补程序上签出进程,并提供有关重现步骤的其他任何有用信息 (NuGet#4204NuGet#4570)。

  • 解决方法:

    打开该解决方案之前,重启 Visual Studio 并打开 PMC。 或者,可以删除 project.lock.json 并再次还原它。

.NET Core 项目中的某个包内附具有无效签名的程序集,该包可触发还原操作无限循环

  • 问题:

    有时,如果所用包内附具有无效签名的程序集或者包版本设置有“DateTime”贴标,这会导致包自动还原操作无限循环 (dotnet/project-system#1457)。

  • 解决方法:

    目前没有解决方法。

无法使用 NuGet 包管理器查看、添加或更新 DotNetCLITools

  • 问题:

    NuGet 包管理器不显示或不允许添加/更新 DotNetCLITools (NuGet#4256)。

  • 解决方法:

    必须在项目文件中手动编辑 DotNetCLIToolReferences。

对目标框架版本重定目标可能会导致 IntelliSense 不完整

  • 问题:

    如果对目标框架版本重定目标,这可能会导致 Visual Studio 中 IntelliSense 不完整。 将 PackageReferences 用作包管理器格式时会出现这种情况 (NuGet#4216)。

  • 解决方法:

    手动进行还原。

Web 工具已知问题

运行时 MVC4 项目不连接到 SQL Server LocalDB

  • 问题:

    在 Visual Studio 中运行 MVC4 项目时,如果使用 SQL Server Express LocalDB 2012,则可能无法通过应用程序访问数据库。 失败的原因是由于 MVC4 项目默认依赖于 SQL Server Express LocalDB 2012,而其未与 Visual Studio 2017 一并安装。

  • 解决方法:

    升级项目以使用 SQL Server Express LocalDB 2016,或者在计算机上手动下载并安装 SQL Server Express LocalDB 2012

.NET Core 工具问题

若要查看 Visual Studio 2017 15.3、.NET Core 和 ASP.NET Core 2.0 的问题和权变措施的当前列表,请查看 GitHub 页。

“打开文件夹”问题

编辑 launch.vs.json 或 tasks.vs.json 时 IntelliSense 不可用

  • 问题:

    编辑 launch.vs.json 或 tasks.vs.json 文件时,IntelliSense 不可用。

  • 解决方法:

    安装“ASP.NET 和 Web 开发”工作负载。

C# 重构可能会生成不一致的结果

  • 问题:

    在文件夹模式下,重构 C# 或 VB 代码可能会生成不一致的结果。

  • 解决方法:

    在解决方案模式下加载 C# 或 VB 项目。

对 launch.vs.json 的未保存编辑可能会丢失

  • 问题:

    从上下文菜单选择“调试和启动设置”时,对 launch.vs.json 的未保存编辑将丢失。

  • 解决方法:

    从上下文菜单选择“调试和启动设置”之前请保存对文件所作的任何更改。

重载已经在文件夹模式下编辑的项目可能会失败,并出现一个对话框

  • 问题:

    如果已在文件夹模式下编辑过一个项目文件,则之后从解决方案模式重载时可能会失败。

  • 解决方法:

    再次重载该项目。 如果仍然无法加载,请重载解决方案。

测试工具问题

本机 C++ 单元测试代码覆盖率

  • 问题:

    本机 C++ 单元测试代码覆盖率失败,出现未加载任何模块的报错。

  • 解决方法:

    通过使用 /DEBUG:FULL 选项生成的调试信息重新生成代码。 可以在“项目属性 | 配置属性 | 链接器 | 调试”下找到此设置。

本机 C++ 单元测试分析

  • 问题:

    本机 C++ 单元测试分析失败,出现未加载任何模块的报错。

  • 解决方法:

    通过使用 /DEBUG:FULL 选项生成的调试信息重新生成代码。 可以在“项目属性 | 配置属性 | 链接器 | 调试”下找到此设置。

.NET Core 单元测试代码覆盖率

  • 问题:

    在 NET Core 单元测试项目的情况下,从测试资源管理器启动代码覆盖率分析不起作用。

  • 解决方法:

    请参阅“Working with Code Coverage”(“使用代码覆盖率”)文档。

轻量级解决方案加载交互

  • 问题:

    轻量级解决方案加载生效时,“创建 IntelliTest”对话框中的“测试项目”下拉列表可能不会列出所有可用的测试项目。

  • 解决方法:

    不会显示尚未加载的项目。 从解决方案资源管理器中加载相关项目,确保显示这些项目。

  • 问题:

    对于启用了“轻量级解决方案加载”的解决方案,无法从已推迟的项目(不是以轻量级解决方案模式加载的项目)中发现测试。

  • 解决方法:

    请禁用解决方案的“轻量级解决方案加载”或(通过在解决方案资源管理器中展开项目节点)加载所需的测试项目并重新生成以发现测试。

调试和诊断

使用 IntelliTrace 事件和快照模式时,当应用程序的调试平台目标设置为 x86 时,IntelliTrace 将不会在调试会话期间拍摄快照。

  • 问题:

    使用 IntelliTrace 事件和快照模式时,当应用程序的调试平台目标设置为 x86 时,IntelliTrace 将不会在调试会话期间拍摄快照。

  • 解决方法:

    • 用 Visual Studio 安装程序安装用于桌面的 VC++ 2015.3 v140 工具集组件 (x86, x64)。
    • 生成目标应用程序。
    • 在命令行中,使用 editbin 工具为目标可执行文件设置 Largeaddressaware 标志。 例如(路径可能有所不同):“C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise\VC\Tools\MSVC\14.12.25718\bin\Hostx86\x86\editbin.exe" /Largeaddressaware "C:\Path\To\Application\app.exe”
    • 按 F5 启动调试。 现在,将对调试器步骤和断点拍摄快照。
      • 请注意,只要重新生成可执行文件时发生更改,就必须重新设置标志。

本地窗口中的更新变量不会立即正确反映在 node.js 项目的 UI 中

  • 问题:

    尝试更新 node.js 项目本地窗口中的本地变量值时,UI 中似乎显示更改未生效。 虽然 UI 更新出现问题,但本地变量值实际上已经正确更改。 UI 会在执行继续后正确更新。

  • 解决方法:

    UI 会在单步执行下一代码行后正确更新。

轻量级解决方案加载问题

启用轻量级解决方案加载后,某些扩展可能会发生意外行为

  • 问题:

    启用轻量级解决方案加载后,某些扩展可能会发生意外行为。

  • 解决方法:

    禁用轻量级解决方案加载并重载解决方案。

启用轻量级解决方案加载后,无法使用“编辑并继续”

  • 问题:

    启用轻量级解决方案加载后,可能无法按预期使用“编辑并继续”。

  • 解决方法:

    使用“编辑并继续”之前,请禁用轻量级解决方案加载并重载解决方案。

配置更改后 IntelliSense 可能没有更新

  • 问题:

    配置更改后(如发布到调试、调试到发布),IntelliSense 可能没有更新。 此影响取决于配置更改导致的代码差异。

  • 解决方法:

    配置更改后重载解决方案。

延迟的项目不显示在“创建 IntelliTest”和“创建单元测试”向导的项目列表中

  • 问题:

    延迟的项目(轻量级解决方案模式中不加载的项目)不会出现在“创建 IntelliTest”和“创建单元测试”向导的测试项目列表中。 这可能与为不加载的项目创建单元测试相关。

  • 解决方法:

    根据需要展开其他项目。

轻量级解决方案加载启用时,某些引用未显示在对象浏览器中

  • 问题:

    如果轻量级解决方案加载启用且项目未在解决方案资源管理器中展开,对象浏览器不会显示此类项目的引用。

  • 解决方法:

    若要显示引用,可在解决方案资源管理器中展开该项目。

请访问优化 Visual Studio 启动时间页面,详细了解轻量级解决方案加载和故障排除技巧。

Application Insights 问题

右键单击项目时 Application Insights 可扩展提供程序加载失败

  • 问题:

    在 Visual Studio 中右键单击项目时 Application Insights 可扩展提供程序加载失败。 这是因为在加载解决方案后,可扩展提供程序会在后台线程中从 NuGet 加载二进制文件。 某些可扩展提供程序(如适用于 PHP 和 Azure Service Fabric 的可扩展提供程序)已经安装了,因此它们不存在这个问题。 Visual Studio 2017 初始版本后不久将通过自动更新对此问题进行修复。

  • 解决方法:

    使用管理员权限打开命令提示符,然后根据 Visual Studio 版本运行以下命令:

    • Visual Studio Enterprise

      • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled.
    • Visual Studio Professional

      • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled.
    • Visual Studio 社区

      • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VsRegEdit.exe" set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community" HKCU AppInsightsGettingStarted UseBackgroundThreadToFetchProjectInfo string Disabled.

某些 ASP.NET Core 项目无法为页面视图集合添加 Application Insights JavaScript 代码段

  • 问题:

    使用不是通过 Visual Studio 2017 创建的 Application Insights 配置的 ASP.NET Core 项目将无法运行。 尝试运行此类应用会出现错误“InvalidOperationException:未注册‘Microsoft.ApplicationInsights.AspNetCore.JavascriptSnippet’类型的服务”。

  • 解决方法:

    使用 Application Insights 配置之后,向文件 Views/Shared/_Layout.cshtml 添加一个 JavaScript 代码段。 有两种解决方法,具体取决于是否要 Application Insights 从应用收集页面视图:

    1. 收集页面视图 - 向 Program.cs 中的 WebHostBuilder 添加“.UseApplicationInsights()”。
    2. 不收集页面视图 - 从 Views/Shared/_Layout.cshtml 删除以下行:
      • @inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet.
      • @Html.Raw(JavaScriptSnippet.FullScript).

团队资源管理器问题

如果存在孤立的 index.lock,则更改索引的 Git 命令可能会失败

  • 问题:

    如果存在孤立的 Git index.lock,则执行更改索引的 Git 命令会失败。 Git 使用此文件来向其他 Git 进程指示,该存储库已锁定要进行编辑。 如果编辑进程无响应或终止,则 index.lock 文件可能会滞后并阻止其他 Git 进程编辑存储库。

  • 解决方法:

    出现此问题时,请查看存储库的 .git/ 文件夹,检查是否存在 index.lock 文件。 如果存在,且你当前并运行活动的 Git 命令,则请删除该文件。

通过 SSH 克隆失败

  • 问题:

    在团队资源管理器中通过 SSH 克隆失败。 未来更新中将提供此问题的修补程序。

  • 解决方法:

    如要使用 SSH,请从命令行克隆,然后在团队资源管理器中将存储库添加到本地存储库列表。 也可在团队资源管理器中通过 HTTP 克隆,然后在“设置”>“存储库设置”>“远程”中将远程设置为使用 SSH。 预览版 Visual Studio 2017(版本 15.3)已修复此问题。

在团队资源管理器中取消 Git 命令不起作用

  • 问题:

    在团队资源管理器中取消 Git 命令(例如克隆命令)不起作用,相反,仍会完成操作。 此问题不影响其他团队资源管理器操作。

  • 解决方法:

    目前没有解决方法。

托管的工作负载开发问题

.NET 2.0/3.0/3.5 项目生成具有不正确目标的程序集

  • 问题:

    在未首先从各个组件中选择 .NET Framework 3.5 开发工具的情况下,在新计算机上安装 Visual Studio 2017 并生成 .NET 2.0(或 3.0/3.5)项目后,即使项目面向 .NET 2.0,生成后的某些程序集(例如资源)也被标记为 .NET4.0。 这是因为 Visual Studio 2017 默认不再安装 .NET Framework 3.5 SDK,而由于此 SDK 缺失,生成进程会默认为 .NET 4.X SDK。

  • 解决方法:

    .NET 3.5 SDK 现仅为可选组件。 如果面向 .NET 3.5 产品 (2.0/3.0/3.5),则安装期间仍需从“独立组件”选项卡中选择 .NET Framework 3.5 开发工具。 这会在生成进程期间所使用的计算机上安装所需的 .NET 3.5 SDK。

通用 Windows 平台开发工作负荷问题

适用于面向 Windows Fall Creators Update SDK 的 UWP 项目的 XAML 设计器

  • 问题:

    在 XAML 中使用 ValueConverter 可能会导致设计器故障。

  • 解决方法:

    目前没有解决方法 – 我们正在努力解决近期预览版中的这种问题。

  • 问题:

    在美工板上选择或拖动控件缓慢,在遇到较复杂的控件时尤其缓慢。

  • 解决方法:

    目前没有解决方法 – 我们正在努力解决近期预览版中的这种问题。

  • 问题:

    设计器中不呈现 d:DesignData(样本数据)。

  • 解决方法:

    使用 d:DesignInstance 作为样本数据。

  • 问题:

    XAML 设计器不呈现在 C++ UWP 应用程序中或在由 TargetPlatformMinVersion 设置为 10.0.10240.0 或 10.0.10586.0 的 .NET Native 编译的托管 UWP 应用程序中使用 UserControl。

  • 解决方法:

    无解决方法。

  • 问题:

    如果在 App.xaml 中创建应该只创建一次的资源对象,则消耗资源的 XAML 设计器将无法正常工作。

  • 解决方法:

    将此类对象的构造函数修改为“Static”。

  • 问题:

    添加对库的引用时(从工具箱拖放),XAML 不包含新添加的控件。

  • 解决方法:

    重新生成并重新添加控件。

  • 问题:

    我们暂时禁用了当前 XAML 设计器中的几个功能,包括:

    • 编辑当前样式
    • 允许测试高对比度、主题等的设备预览设置
    • 可视状态管理工具
    • 动画工具
    • 支持示例数据、设计器实例
    • 排序命令
    • 对齐命令
    • 分组命令
    • 合并命令
    • 路径命令
    • 构成控件
    • 文本编辑工具
    • Blend 中的资源面板
    • Blend 中的数据面板
    • 设计时资源字典
    • Blend 工具窗格中的某些工具
    • 在模板内编辑
    • 设计器扩展
    • Blend 中的行为工具

XAML 设计器不可用

  • 问题:

    开发 UWP 应用时,XAML 设计器不可用。

  • 解决方法:

    只有应用的目标平台版本等于或低于运行 Visual Studio 的 Windows 10 的版本时,XAML 设计器才可用。 例如:如果在“Windows 10 周年更新(内部版本 14393)”上运行 Visual Studio,并且 UWP 应用的目标平台版本是“Windows 10 创意者更新”,则该应用项目不能使用 XAML 设计器。 若要确保能使用 XAML 设计器,需升级到最新版本的 Windows 10。

打开 UWP 项目时需要 Visual Studio 更新

  • 问题:

    在 Visual Studio 中打开在 Visual Studio 2017 预览版中创建的项目时,可能会显示一个标题为“需要 Visual Studio 更新”的对话框,指示你安装更新的平台 SDK。 链接到此对话框的 Windows SDK 存档网站不会列出指定版本的 Windows SDK。

  • 解决方法:

    这在预料之中,因为 Visual Studio 2017 预览版包括预发布的 Windows SDK。 若要解决此问题,可在项目文件中将目标平台版本更改为要面向的 Windows SDK 版本。 对于 Windows 10 创意者更新,此版本是“10.0.15063.0”。

    1. 在项目中,右键单击并选择“编辑 [AppName].[xx]proj”,其中 [xx]proj 是.csproj、.vcxproj 等。
    2. 在项目文件“TargetPlatformVersion”(对于 C#、VB 和 JS 项目)或“WindowsTargetPlatformVersion”(对于 C++)项目属性中,将值改为”10.0.15063.0”或改为已安装的其他 SDK 版本。

工具箱中不提供某些 XAML 控件

  • 问题:

    使用从扩展 SDK 安装的 XAML 控件时,可能无法看到工具箱中的某些控件。

  • 解决方法:

    如果想要使用这些控件,可以在 XAML 编辑器中手动添加它们。

尝试在 Xbox 上使用 .NET Standard 2.0 将无法启动该应用

  • #### 问题: 在正开发 .NET UWP 应用程序时,如果 TargetPlatformMinVersion 设置为 Windows 10 Fall Creators Update (10.0.16299.0),将无法在 Xbox 上启动该应用。
  • #### 解决方法: 将 TargetPlatformMinVersion 设置为 Windows 10 Creators Update (10.0.15063.0) 或更低版本。 或者,通过应用商店或修改清单限制在 Xbox 上安装应用程序。

Visual C++ 桌面版已知问题

在某些语言中 MFC 应用程序向导不起作用

  • 问题:

    对于某些 VS 语言:在“文件”->“新建”->“项目...”对话框中,选择“Visual C + +”->“MFC”->“MFC 应用程序”将无法创建新解决方案/项目。

  • 解决方法:

    请在“文件”->“新建”->“项目...”对话框中,使用“Visual C + +”->“MFC 应用程序”(即 Visual C + + 根节点下的向导)。

MFCCtlWiz 项目模板不起作用

  • 问题:

    在“文件”->“新建项目”中选择“MFCCtlWiz”项目模板不起作用。 这是缺失的 MFC ActiveX 控件向导的(错误)旧项。

  • 解决方法:

    请忽略此项。 请改用“MFC ActiveX 控件”向导。

安装 Windows 10 创意者更新 SDK (10.0.15063.0) 后,无法生成新创建的 C++ Win32 桌面应用

  • 问题:

    重构了 Windows 10 创意者更新 SDK,可默认减少安装占用的资源。 若通过 UWP 工作负载安装此 SDK,则不会安装 Win32 C++ 桌面项目所需的标头/库。 但是,Visual C++ 桌面项目会将此 SDK 检测为“已安装”,并将默认尝试定向于新创建的项目中的 10.0.15063.0。

  • 解决方法:

    在 Visual Studio 安装程序中:

    • 在“使用 C++ 的桌面开发”工作负载下,选择“适用于桌面 C++ x86 和 x64 的 Windows 10 SDK (10.0.15063.0)”功能。
    • 还可从“项目属性”对话框中选择系统上完全安装的 SDK 早期版本(例如 10.0.14393.0)。

运行仅安装有 Windows 10 创意者更新 SDK (10.0.15063.0) 的 ResEdit 将失败,因为缺少 rcdll.dll

  • 问题:

    运行仅安装有 Windows 10 创意者更新 SDK (10.0.15063.0) 的 ResEdit 将失败,因为缺少 rcdll.dll。 导致此问题的原因在于 RS2 SDK 重构目录布局,这导致了 rcdll.dll 包含在受版本控制的目录位置。

  • 解决方法:

    安装 Windows 10 SDK (10.0.14393.0) 或更早版本的周年更新。

Xamarin 问题

构建已取消,出现“项目 'project_name' 需要计算机上安装有以下组件”错误

  • 问题:

    可能需要安装其他组件,才可构建 Android 应用程序。 某些情况下可能需要此操作。 例如,如果要使用新组件(如 NuGet 包),或者如果这是在给定计算机上构建的第一个 Xamarin.Forms 解决方案。

  • 解决方法:

    • 确保 IntelliSense 错误在列表中可见。 Xamarin for Visual Studio 将检测这些缺少的资源。 将显示一个错误,指出需要下载和安装的资源。 双击列表中的错误。 将开始下载并安装缺少的组件。 需要让 IntelliSense 错误在列表中可见,否则无法看到该错误。 如果在未安装缺失组件的情况下在解决方案中构建任何项目,则构建操作将取消。
    • 安装缺失组件的一种可选方式是从命令行处构建。

Python 问题

未生成 Python 扩展模块模板

  • 问题:

    当选择 Python 本机开发可选组件时,会安装用于构建扩展模块的 C++ 项目模板。 此模板默认为 Python 3.5,而选择 Python 3.6 时可能不会安装 Python 3.5。

  • 解决方法:

    卸载项目并对其进行编辑。 有一个包含“3.5”的 PythonVersion 属性应读作“3.6”,以便使用 Python 3.6 构建。

未加载 Azure 云服务项目

  • 问题:

    使用 Python 角色创建 Azure 云服务项目时,可能会显示错误“系统找不到指定的文件”。 这是因为 Python 工作负载没有在默认情况下正确安装所有所需文件。

  • 解决方法:

    打开 Visual Studio 安装程序并修改安装。 在 Python 开发工作负载中,勾选“Azure 云服务核心工具”并应用修改。 此操作将添加缺少的文件。

无法启动 Django 管理控制台

  • 问题:

    通过项目的上下文菜单打开 Django 项目的管理控制台时,接收到一条包含 django.core.exceptions.ImproperlyConfigured 的错误。 这是因为在启动控制台之前,未正确设置 DJANGO_SETTINGS_MODULE 环境变量。

  • 解决方法:

    将下列代码添加到 settings.py 文件,使用设置模块的实际名称来替换占位符。

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<module name placeholder>")

打开管理控制台后,应该首先运行 django.setup() 命令。 此后,控制台应该能够正常工作。

在 Django 项目中编辑 HTML 文件时显示错误

  • 问题:

    打开 Django 项目中的 HTML 文件时,会显示一个消息框,并且不支持 JavaScript。 这是因为需要先安装某个版本的 TypeScript SDK,才能在编辑器中启用 JavaScript 支持,而默认的安装选项并没有包含 TypeScript。

  • 解决方法:

    打开 Visual Studio 安装程序并修改安装。 在“单个组件”下,找到并选择任何“TypeScript SDK”选项,并应用修改。

搜索路径中的模块未出现在导入完成列表中

  • 问题:

    向项目添加搜索路径后,该路径中可用的包和模块未显示在 importfrom ... import 完成列表中。

  • 解决方法:

    没有可用的解决方法。 输入包或模块的名称后,这些模块中的完成应该会正确显示。

.NET Core 问题

若要查看 .NET Core 和 ASP.NET Core 2.0 的问题和权变措施的当前列表,请查看 GitHub 页

测试工具问题

本机 C++ 单元测试代码覆盖率

  • 问题:

    本机 C++ 单元测试代码覆盖率失败,出现未加载任何模块的报错。

  • 解决方法:

    通过使用 /DEBUG:FULL 选项生成的调试信息重新生成代码。 可以在“项目属性 | 配置属性 | 链接器 | 调试”下找到此设置。

.NET Core 单元测试代码覆盖率

创建 IntelliTest 项目选项

  • 问题:

    轻量级解决方案加载生效时,“创建 IntelliTest”对话框中的“测试项目”下拉列表可能不会列出所有可用的测试项目。

  • 解决方法:

    不会显示尚未加载的项目。 从解决方案资源管理器中加载相关项目,确保此处显示这些项目。

调试和诊断问题

F# 工具

  • 问题:

    Enter、空格键以及箭头键间歇性失效。 此外,打开包含已打开文档的解决方案将导致其对这些文档无效。

  • 解决方法:

    • 我们已在 Visual F # 夜间版本提供了关于此问题的修补程序,该修补程序也会在未来版本中提供。 关闭并重新打开受影响的文件也可修复该问题,但这只是暂时性解决方法。
    • 关于 .NET Core 和 .NET Standard 项目的 F# 支持,我们认为还有多个问题未得到完全支持。 我们目前正在致力于提供完全支持。 如果确实想要加载这些类型的项目,请在此处提出这些问题。
  • 问题:

    无法在 Visual Studio 中创建新的 .NET Core 或 .NET Standard 项目。

  • 解决方法:

    暂无解决方法。 我们已在 Visual Studio 中禁用了创建新 F# 和 .NET Core/.NET Standard 项目的功能,直到该功能得到完全支持。

  • 问题:

    无法加载依赖项,即使 IntelliSense 编译、运行和调试时,该程序也会报告错误。

  • 解决方法:

    暂无解决方法。

  • 问题:

    即使 IntelliSense 编译、运行和调试时,该程序也无法识别新添加的文件。

  • 解决方法:

    暂无解决方法。

Python

未能附加远程调试器

  • 问题:

    当附加到正在使用 ptvsd 的远程计算机时,会出现错误消息。

  • 解决方法:

    此版本中的 ptvsd 发生了重大更改。 请在远程计算机上更新 ptvsd 的版本。

远程调试器随机中断

  • 问题:

    调试远程代码时,调试器可能停止运行,就好像引发异常但不显示任何信息。

  • 解决方法:

    没有已知的变通方法。 按 F5 或“继续”可继续执行此进程。

包含修饰器的测试未显示在“测试窗口”中

  • #### 问题: 当测试方法也有修饰器时,它们可能不会显示在“测试窗口”中:
    @patch.object(os.path, 'isfile')
    def test_A(self):
        ''' Doesn't appear in Test Window'''
        self.fail("Not implemented")

    def test_B(self):
        ''' This does appear in Test Window'''
        self.fail("Not implemented")
  • #### 解决方法: 除了删除修饰器外,现在暂无变通方法。 从命令行使用 unittest 或 PyTest 运行这些测试。

其他问题

在 x86 计算机上无法连接到 (LocalDB)\MSSQLLocalDB

  • 问题:

    这是一个间歇性的 localDB 2014 已知问题,出现此问题时在 x86 计算机上无法连接 (LocalDB)\MSSQLLocalDB。

  • 解决方法:

    在命令提示符中运行以下命令:

    1. sqllocaldb stop mssqllocaldb。
    2. sqllocaldb delete mssqllocaldb。
    3. sqllocaldb start mssqllocaldb。

无法在 SharePoint 工作流中创建函数断点

  • 问题:

    Visual Studio 的“断点”窗格以前允许创建类型为“工作流”的断点。 此功能已被删除。

  • 解决方法:

    通过右键单击菜单在“设计器”视图中创建断点。

在工作流设计器中,SharePoint 工作流活动可能无法正确加载

  • 问题:

    如果使用工作流和 SharePoint 活动创建新的 SharePoint 外接程序或解决方案项目,在生成项目后,工作流设计器中可能会显示错误“由于 XAML 中的错误,无法加载活动”。 默认情况下,新的 SharePoint 外接程序项目面向 .NET Framework 4.5.2。 为了在工作流中使用 SharePoint 活动,项目必须面向 .NET Framework 4.5。

  • 解决方法:

    • 从解决方案资源管理器中的上下文菜单或通过项目菜单访问项目属性。
    • 在“应用程序”选项卡上,将“目标框架”设置为 .NET Framework 4.5。

SharePoint 外接程序项目向导可能无法正确检测项目面向的 SharePoint 的版本

  • 问题:

    创建 SharePoint 外接程序项目时,新建项目对话框将基于你提供的站点 URL 尝试检测 SharePoint 的正确版本。 但是,如果还安装了 Visual Studio 2015 或旧版 SharePoint 客户端组件,则新建项目对话框可能会错误地判定项目面向的是 SharePoint 2016 而非 SharePoint Online。

  • 解决方法:

    对于新 SharePoint 外接程序项目,请确保验证新项目对话框的最后一页已选择项目所面向的 SharePoint 的正确版本。 对于现有项目,可以通过执行以下操作更改项目所面向的 SharePoint 的版本:

    • 从解决方案资源管理器中的上下文菜单或通过项目菜单访问项目属性。
    • 在 SharePoint 选项卡上,将目标 SharePoint 版本设置为项目所面向的 SharePoint 的正确版本。

Visual Studio 生成工具 SKU 的 Web 开发工具工作负载中不包含面向 .NET 的包

  • 问题:

    Visual Studio 生成工具 SKU 中的 Web 开发工具工作负载不包含任何面向 .NET 的包。 这意味着 .NET 二进制文件仅可生成为面向 4.6。

  • 解决方法:

    从 Microsoft 手动下载面向 .NET 的包并将其安装到生成计算机。

通过通配包含的文件如果位于项目根目录外,将不会显示在解决方案资源管理器中

  • 问题:

    对于 .NET Core 和 ASP.NET Core 项目,由通配模式包括的任何文件只有包含在项目根目录下才会显示在解决方案资源管理器中。 不会显示位于项目根目录之外的任何文件。 打开“显示所有文件”不能解决此问题。 也无法通过“搜索”、“在文件中查找”、“转到”或“转到定义”导航到这些文件。

  • 解决方法:

    对于在解决方案资源管理器中显示缺少的文件或导航到这些文件,目前没有已知的解决方法。 但是,生成和调试这些项目应该不会遇到任何问题。 在大多数情况下,通过手动打开这些文件即可正常编辑它们。 目前,建议使用单独链接的文件来代替外部通配模式。

VS Test Professional 2017 SKU 不具备团队资源管理器,限制了对 Excel-based/SSRS-based reports from TFS Warehouse/Cube 的访问

  • 此问题现已在版本 15.1 (26403.00) 中修复:

    VS 团队资源管理器不再随附 VS Test Professional SKU 一并安装,该管理器用于访问 Excel-based/SSRS-based based reports from TFS Warehouse/Cube。 此问题不会影响到 Microsoft 测试管理器 (MTM) 客户端 – 它将继续工作,不会产生任何已知问题。

  • 问题:

    打开包含 VC 项目的文件夹时,NavigateTo 搜索未返回外部文件。

  • 解决方法:

    在“轻量级解决方案加载”启用时打开文件夹,关闭解决方案,然后重新打开文件夹。

基于 CPS 的项目(.NET Core 和 Cordova)不支持包含正斜杠(即“*/.cs”)的 Glob。

  • 问题:

    CPS 项目不支持包含正斜杠的 Glob,这会引起非致命错误。

  • 解决方法:

    目前没有变通方法。

无法创建团队项目或更新进程模板

  • 问题:

    客户无法在 Visual Studio 2017(版本 15.3)中创建新的团队项目,或无法上传或编辑过程模板。 从 Web 访问创建项目继续有效。

  • 解决方法:

    此时,如果需要在 Visual Studio 中创建团队项目或上传过程模板,请使用 Visual Studio 2017(版本 15.2)或更早版本。

如果 C# 和 Visual Basic 组件未安装,打开文件夹时报错

  • 问题:

    如果 C# 和 Visual Basic 组件未安装,打开文件夹时出现错误消息“调用目标引发异常”。

  • 解决方法:

    安装 C# 和 Visual Basic 组件。

Microsoft 测试管理器 (MTM) 客户端无法连接到 Team Foundation Server 或 Visual Studio Team Services

  • 问题:

    MTM 客户端无法连接到 Team Foundation Server 或 Visual Studio Team Services,阻止用户创建和运行测试用例。

  • 解决方法

    此时请使用以下变通方法:

通过在“开始”菜单中搜索 mtm.exe 并在右键单击菜单中选择“打开文件位置”来查找安装 mtm.exe 的文件夹。 编辑同一文件夹中的 mtm.exe.config 文件,以在“配置”->“运行时”部分添加以下部分:

  <dependentAssembly>
    <assemblyIdentity name="Microsoft.VisualStudio.Threading" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
    <bindingRedirect oldVersion="10.0.0.0-15.0.0.0" newVersion="15.3.0.0"/>
  </dependentAssembly>

构建 DSL 项目失败,出现 FileNotFoundException

  • 问题:

    构建新创建的 DSL 项目失败,出现 FileNotFoundException。

  • 解决方法:

    将以下代码段添加到 MSBuild.exe.config 中的 assemblyBinding 元素(在 \MSBuild\15.0\Bin 中):

    <dependentAssembly>
      <assemblyIdentity name="Microsoft.VisualStudio.Zip.9.0" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
      <codeBase version="9.0.0.0" href="..\..\..\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Zip.9.0.dll" />
    </dependentAssembly>
返回页首