Added NewtonSoft.Json troubleshooting docs

This commit is contained in:
Bill Ticehurst 2017-11-28 11:32:12 -08:00
Родитель 788c32f202
Коммит 88a5a7530e
18 изменённых файлов: 474 добавлений и 28 удалений

Просмотреть файл

@ -20,7 +20,7 @@ The supported frameworks are:
## Writing unit tests
Before adding unit tests to your project, make sure the framework you plan on using is installed **locally** in
your project. This is easiest using the [npm install window](npm#npmInstallWindow).
your project. This is easiest using the [npm install window](npm.md#npmInstallWindow).
You can add simple blank tests to your project, using the Add New Item dialog, both JavaScript and TypeScript are supported in the same project.

Просмотреть файл

@ -91,3 +91,6 @@
href: build/nuget.md
- name: Troubleshooting
href: troubleshooting/index.md
items:
- name: NewtonSoft.Json versioning
href: troubleshooting/newtonsoft.md

Просмотреть файл

@ -0,0 +1,47 @@
# NewtonSoft.Json versioning issues
Visual Studio 2017 communicates with the JavaScript and TypeScript language service using JSON. To
deserialize these messages, Visual Studio uses the very popular [Json.NET package from NewtonSoft](https://www.newtonsoft.com/json). If a different version of this assembly is loaded into memory
than expected, then subtle differences in behavior can cause deserialization to fail, and thus failure
to communicate with the language service.
The easiest way to check if the expected version of NewtonSoft.Json is being loaded, it to launch
another instance of Visual Studio and attach to the instance having issues, and load the "Modules"
window to check the assembly path. For example, once the problem occurs:
1. Run another instance of Visual Studio (e.g. from the Developer Command Prompt, run "devenv.exe").
2. From the menu of the new instance select "Debug" / "Attach to Process..."
3. Select the existing "devenv.exe" process from the list, and ensure the "Attach to" option reads "Automatic: Managed (v4.6, v4.5, v4.0) code"
4. Once attached, from the menu select "Debug" / "Windows" / "Modules"
5. Locate "NewtonSoft.Json.dll" in the list and note the "Path".
The path to the loaded module should be under the "Common7\IDE\PrivateAssemblies" folder of the Visual
Studio installation path, as shown below.
<img src="../../images/NewtonSoftPath.png" width="1120px"/>
If the path is somewhere under the folder "C:\Windows\Microsoft.Net\assembly", then a version has been
installed to the GAC, and this is being loaded instead of the Visual Studio version. As all 9.x releases
of NewtonSoft.Json have an assembly version of "9.0.0.0", it is not possible to redirect assembly loading
and avoid using the GAC. There are two potential solutions to this.
### Remove NewtonSoft.Json from the GAC
Removing the copy of NewtonSoft.Json.dll from the GAC is one approach. However it runs the risks of
breaking whatever application installed it to the GAC, as it may expect to still find it there. The
command to uninstall NewtonSoft.Json from the GAC is shown below. Run from a Developer Command Prompt
with Admin rights.
```
gacutil /uf NewtonSoft.Json
```
### Install the Visual Studio version into the GAC
The version of NewtonSoft.Json.dll that ships with Visual Studio 2017 is the latest (at the time of writing)
release with the "9.0.0.0" assembly version, so other applications depending on the version in the GAC
should be compatible with it. Therefore you could also install the version that ships with Visual Studio 2017
into the GAC to fix the version mismatch. To do so, from a Developer Command Prompt with Admin permissions,
run the command:
```
gacutil /if "%VSINSTALLDIR%Common7\IDE\PrivateAssemblies\Newtonsoft.Json.dll"
```

Просмотреть файл

@ -8,7 +8,7 @@
<title>Refactoring &amp; Quick fixes </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="Refactoring &amp; Quick fixes ">
<meta name="generator" content="docfx 2.27.0.0">
<meta name="generator" content="docfx 2.26.1.0">
<link rel="shortcut icon" href="../../favicon.ico">
<link rel="stylesheet" href="../../styles/docfx.vendor.css">

Просмотреть файл

@ -101,7 +101,7 @@ e.g. <code>@types/mocha</code></p>
</div>
<h2 id="solutionExplorer">Managing installed packages in the Solution Explorer</h2>
<p>npm packages are shown in the solution explorer, and mimics the dependencies in the packages.json.</p>
<p><img src="../../images/node/solution-explorer-status.PNG" alt="Search npm package"></p>
<p><img src="../../images/node/solution-explorer-status.png" alt="Search npm package"></p>
<h3 id="package-status">Package status</h3>
<ul>
<li><img src="../../images/node/installed-npm.png" alt="Installed package"> installed and listed in package.json</li>

Просмотреть файл

@ -69,7 +69,67 @@
<article class="content wrap" id="_content" data-uid="">
<h1 id="nodejs-requirements">Node.js requirements</h1>
<p>TODO</p>
<p>To install support for developing Node.js application in Visual Studio 2017, follow the instructions for selecting the Node.js workload in the Visual Studio 2017 installer, and downloading and installing the
Node.js runtime.</p>
<p>To quickly test the Node.js support after following the installation steps, open the Node.js Interactive
Window by pressing Alt-K,N and entering <code>2+2</code>. If you don&#39;t see the output of <code>4</code>, recheck your steps.
For details, see <a href="interactivewindow.html">Using the Interactive Window</a>.</p>
<div class="NOTE"><h5>Note</h5><p>Node.js support is not presently available in Visual Studio for Mac, but is available on Mac and Linux
through Visual Studio Code.</p>
</div>
<h2 id="installing-visual-studio-2017">Installing Visual Studio 2017</h2>
<ol>
<li><p>Download and run the latest Visual Studio 2017 installer:</p>
<div class="nextstepaction"><p><a href="https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&amp;rel=15&amp;utm_source=docs&amp;utm_medium=clickbutton">Install Visual Studio 2017 Community</a></p>
</div>
<div class="TIP"><h5>Tip</h5><p>The Community edition is for individual developers, classroom learning, academic research, and open source development. For other uses, install <a href="https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Professional&amp;rel=15&amp;utm_source=docs&amp;utm_medium=clickbutton">Visual Studio 2017 Professional</a>
or <a href="https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Enterprise&amp;rel=15&amp;utm_source=docs&amp;utm_medium=clickbutton">Visual Studio 2017 Enterprise</a>.</p>
</div>
</li>
<li><p>The installer presents you with a list of workloads, which are groups of related options for specific development areas. For Node.js, select the <strong>Node.js</strong> workload.</p>
<p> <img src="../../images/node/installation-nodejs-workload.png" alt="Node.js development workload in the Visual Studio installer"></p>
</li>
<li><p>On the right side of the installer, chose additional options if desired. Skip this step to accept the default options.</p>
<p> <img src="../../images/node/installation-nodejs-options.png" alt="Node.js development options in the Visual Studio installer"></p>
<table>
<thead>
<tr>
<th>Option</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Connectivity and publishing tools</td>
<td>Publishing to Azure ??</td>
</tr>
<tr>
<td>Developer Analytics tools</td>
<td>No idea ??</td>
</tr>
<tr>
<td>Visual Studio C++ core features</td>
<td>Installs tools C++ development, these are necessary for creating native modules.</td>
</tr>
<tr>
<td>VC++ 2017 v141 toolset (x86,x64)</td>
<td>Installs the default C++ compiler, this is necessary for consuming native modules.</td>
</tr>
</tbody>
</table>
</li>
<li><p>After installation, the installer provides options to modify, launch, repair, or uninstall Visual Studio. The <strong>Modify</strong> button changes to <strong>Update</strong> when updates to Visual Studio when updates are available for any installed components. (The modify option is then available on the drop-down menu.) You can also launch Visual Studio and the installer from the Windows Start menu by searching on &quot;Visual Studio&quot;.</p>
<p> <img src="../../images/node/installation-vs-launch.png" alt="Launching, modifying, modifying, or uninstalling Visual Studio from the installer"></p>
</li>
</ol>
<h2 id="installing-the-nodejs-runtime">Installing the Node.js runtime</h2>
<p>Node.js support doesn&#39;t come with a Node.js Runtime, so you need to install a version from the
<a href="https://nodejs.org/en/download/">Node.js website</a>. In general, Visual Studio automatically detects the
installed Node.js runtime, if it does not detect an installed runtime you can configure your project
to reference the installed runtime.</p>
<div class="TIP"><h5>Tip</h5><p>Although Visual Studio 2017 does support older versions, we recommend you install at least the
current LTS Version. </p>
</div>
</article>
</div>

Просмотреть файл

@ -69,8 +69,105 @@
<article class="content wrap" id="_content" data-uid="">
<h1 id="unit-testing-in-nodejs">Unit testing in Node.js</h1>
<p>TODO</p>
</article>
<p>The Node.js Tools For Visual Studio allows you to write and run unit tests using some of the more popular
frameworks without the need to switch to a command prompt.</p>
<p>The supported frameworks are:</p>
<ul>
<li>Mocha (<a href="http://mochajs.org/">mochajs.org</a>)</li>
<li>Jasmine (<a href="https://jasmine.github.io/">Jasmine.github.io</a>)</li>
<li>Tape (<a href="https://github.com/substack/tape">github.com/substack/tape</a>)</li>
<li>Export Runner (a Node.js tools specific framework)</li>
</ul>
<div class="WARNING"><h5>Warning</h5><p>There is currently an issue in Tape which prevents tests from running.
If <a href="https://github.com/substack/tape/pull/361">this PR</a> is merged that should be resolved.</p>
</div>
<div class="TIP"><h5>Tip</h5><p>If your favorite framework is not supported see <a href="#addingFramework">adding support for a unit test framework</a>
on how to add support. </p>
</div>
<h2 id="writing-unit-tests">Writing unit tests</h2>
<p>Before adding unit tests to your project, make sure the framework you plan on using is installed <strong>locally</strong> in
your project. This is easiest using the <a href="npm.html#npmInstallWindow">npm install window</a>.</p>
<p>You can add simple blank tests to your project, using the Add New Item dialog, both JavaScript and TypeScript are supported in the same project.</p>
<p><img src="../../images/node/unit-test-add-new-item.png" alt="Add new unit test"></p>
<p>For a Mocha unit test the file will contain the following code.</p>
<pre><code class="lang-javascript">var assert = require(&#39;assert&#39;);
describe(&#39;Test Suite 1&#39;, function() {
it(&#39;Test 1&#39;, function() {
assert.ok(true, &quot;This shouldn&#39;t fail&quot;);
})
it(&#39;Test 2&#39;, function() {
assert.ok(1 === 1, &quot;This shouldn&#39;t fail&quot;);
assert.ok(false, &quot;This should fail&quot;);
})
})
</code></pre><p>And the Test Framework property is set to &#39;Mocha&#39;.</p>
<p><img src="../../images/node/UnitTestsFrameworkMocha.png" alt="Test Framework"></p>
<p>After opening the Test Explorer (from the Test, Windows, Test Explorer menu), the tests will be discovered and
displayed. If they&#39;re not showing initially rebuild the project to refresh the list.</p>
<p><img src="../../images/node/UnitTestsDiscoveryMocha.png" alt="Test Explorer"></p>
<div class="NOTE"><h5>Note</h5><p>If you use the <code>outdir</code> or <code>outfile</code> option in <code>tsconfig.json</code>, the Text Explorer won&#39;t be able to find your
unit tests in TypeScript files.</p>
</div>
<h2 id="running-tests">Running tests</h2>
<p>Tests can be run in Visual Studio 2017, or from the command line.</p>
<h3 id="running-tests-in-visual-studio-2017">Running tests in Visual Studio 2017</h3>
<p>You can run the tests by clicking the &#39;Run All&#39; link in the Test Explorer window, or by selecting one or more
tests or groups, right-clicking and selecting &#39;Run Selected Tests&#39;. Tests will be run in the background, and the
display will update and show the results. Furhter you can also debug selected tests by selecting
&#39;Debug Selected Tests&#39;.</p>
<div class="NOTE"><h5>Note</h5><p>Currently we don&#39;t support profiling tests, or code coverage.</p>
</div>
<h3 id="running-tests-from-the-command-line">Running tests from the command line</h3>
<p>You can run the tests from the &#39;Developer Command for VS 2017&quot; using the following:</p>
<pre><code>vstest.console.exe &lt;path to project file&gt;\NodejsConsoleApp23.njsproj /TestAdapterPath:&lt;VisualStudioFolder&gt;\Common7\IDE\Extensions\Microsoft\NodeJsTools\TestAdapter
</code></pre><p>This should show output similar to:</p>
<pre><code>Microsoft (R) Test Execution Command Line Tool Version 15.5.0
Copyright (c) Microsoft Corporation. All rights reserved.
Starting test execution, please wait...
Processing: NodejsConsoleApp23\NodejsConsoleApp23\UnitTest1.js
Creating TestCase:NodejsConsoleApp23\NodejsConsoleApp23\UnitTest1.js::Test Suite 1 Test 1::mocha
Creating TestCase:NodejsConsoleApp23\NodejsConsoleApp23\UnitTest1.js::Test Suite 1 Test 2::mocha
Processing finished for framework of Mocha
Passed Test Suite 1 Test 1
Standard Output Messages:
Using default Mocha settings
1..2
ok 1 Test Suite 1 Test 1
Failed Test Suite 1 Test 2
Standard Output Messages:
not ok 1 Test Suite 1 Test 2
AssertionError [ERR_ASSERTION]: This should fail
at Context.&lt;anonymous&gt; (NodejsConsoleApp23\NodejsConsoleApp23\UnitTest1.js:10:16)
Total tests: 2. Passed: 1. Failed: 1. Skipped: 0.
Test Run Failed.
Test execution time: 1.5731 Seconds
</code></pre><div class="NOTE"><h5>Note</h5><p>If you get an error that <code>vstest.console.exe</code> can not be found make sure you&#39;ve openend the Developer Command
Prompt and not a regular command prompt. </p>
</div>
<h2 id="addingFramework">Adding support for a unit test framework</h2>
<p>You can extend the support for additional test frameworks by implementing the discovery and execution logic
using JavaScript.
In the following location:
<visualstudiofolder>\Common7\IDE\Extensions\Microsoft\NodeJsTools\TestAdapter\TestFrameworks
You&#39;ll see folders for the various supported test frameworks.
Under each folder, a JavaScript file named after the folder contains 2 exported functions:<p>
<ul>
<li><code>find_tests</code></li>
<li><code>run_tests</code></li>
</ul>
<p>See the implementation of Mocha for examples of <code>find_tests</code> and <code>run_tests</code> implementations.</p>
<div class="NOTE"><h5>Note</h5><p>The name of the folder must match the name of the .js file. Discovery of test frameworks happens at VS start.
If a framework is added while VS is running, VS must be restarted for detection to occur.</p>
</div>
<div class="NOTE"><h5>Note</h5><p>Be sure to set the TestFramework property on your test file(s) to match the name of the subfolder under
TestFrameworks.</p>
</div>
</visualstudiofolder></article>
</div>
<div class="hidden-sm col-md-2" role="complementary">

Просмотреть файл

@ -162,8 +162,14 @@
</li>
</ul> </li>
<li>
<span class="expand-stub"></span>
<a href="troubleshooting/index.html" name="" title="Troubleshooting">Troubleshooting</a>
</li>
<ul class="nav level2">
<li>
<a href="troubleshooting/newtonsoft.html" name="" title="NewtonSoft.Json versioning">NewtonSoft.Json versioning</a>
</li>
</ul> </li>
</ul> </div>
</div>
</div>

Просмотреть файл

@ -0,0 +1,144 @@
<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>NewtonSoft.Json versioning issues </title>
<meta name="viewport" content="width=device-width">
<meta name="title" content="NewtonSoft.Json versioning issues ">
<meta name="generator" content="docfx 2.26.1.0">
<link rel="shortcut icon" href="../../favicon.ico">
<link rel="stylesheet" href="../../styles/docfx.vendor.css">
<link rel="stylesheet" href="../../styles/docfx.css">
<link rel="stylesheet" href="../../styles/main.css">
<meta property="docfx:navrel" content="../../toc.html">
<meta property="docfx:tocrel" content="../toc.html">
</head>
<body data-spy="scroll" data-target="#affix">
<div id="wrapper">
<header>
<nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../../index.html">
<img id="logo" class="svg" src="../../logo.svg" alt="">
</a>
</div>
<div class="collapse navbar-collapse" id="navbar">
<form class="navbar-form navbar-right" role="search" id="search">
<div class="form-group">
<input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
</div>
</form>
</div>
</div>
</nav>
<div class="subnav navbar navbar-default">
<div class="container hide-when-search" id="breadcrumb">
<ul class="breadcrumb">
<li></li>
</ul>
</div>
</div>
</header>
<div role="main" class="container body-content hide-when-search">
<div class="sidenav hide-when-search">
<a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
<div class="sidetoggle collapse" id="sidetoggle">
<div id="sidetoc"></div>
</div>
</div>
<div class="article row grid-right">
<div class="col-md-10">
<article class="content wrap" id="_content" data-uid="">
<h1 id="newtonsoftjson-versioning-issues">NewtonSoft.Json versioning issues</h1>
<p>Visual Studio 2017 communicates with the JavaScript and TypeScript language service using JSON. To
deserialize these messages, Visual Studio uses the very popular <a href="https://www.newtonsoft.com/json">Json.NET package from NewtonSoft</a>. If a different version of this assembly is loaded into memory
than expected, then subtle differences in behavior can cause deserialization to fail, and thus failure
to communicate with the language service.</p>
<p>The easiest way to check if the expected version of NewtonSoft.Json is being loaded, it to launch
another instance of Visual Studio and attach to the instance having issues, and load the &quot;Modules&quot;
window to check the assembly path. For example, once the problem occurs:</p>
<ol>
<li>Run another instance of Visual Studio (e.g. from the Developer Command Prompt, run &quot;devenv.exe&quot;).</li>
<li>From the menu of the new instance select &quot;Debug&quot; / &quot;Attach to Process...&quot;</li>
<li>Select the existing &quot;devenv.exe&quot; process from the list, and ensure the &quot;Attach to&quot; option reads &quot;Automatic: Managed (v4.6, v4.5, v4.0) code&quot;</li>
<li>Once attached, from the menu select &quot;Debug&quot; / &quot;Windows&quot; / &quot;Modules&quot;</li>
<li>Locate &quot;NewtonSoft.Json.dll&quot; in the list and note the &quot;Path&quot;.</li>
</ol>
<p>The path to the loaded module should be under the &quot;Common7\IDE\PrivateAssemblies&quot; folder of the Visual
Studio installation path, as shown below.</p>
<p><img src="../../images/NewtonSoftPath.png" width="1120px"></p>
<p>If the path is somewhere under the folder &quot;C:\Windows\Microsoft.Net\assembly&quot;, then a version has been
installed to the GAC, and this is being loaded instead of the Visual Studio version. As all 9.x releases
of NewtonSoft.Json have an assembly version of &quot;9.0.0.0&quot;, it is not possible to redirect assembly loading
and avoid using the GAC. There are two potential solutions to this.</p>
<h3 id="remove-newtonsoftjson-from-the-gac">Remove NewtonSoft.Json from the GAC</h3>
<p>Removing the copy of NewtonSoft.Json.dll from the GAC is one approach. However it runs the risks of
breaking whatever application installed it to the GAC, as it may expect to still find it there. The
command to uninstall NewtonSoft.Json from the GAC is shown below. Run from a Developer Command Prompt
with Admin rights.</p>
<pre><code>gacutil /uf NewtonSoft.Json
</code></pre><h3 id="install-the-visual-studio-version-into-the-gac">Install the Visual Studio version into the GAC</h3>
<p>The version of NewtonSoft.Json.dll that ships with Visual Studio 2017 is the latest (at the time of writing)
release with the &quot;9.0.0.0&quot; assembly version, so other applications depending on the version in the GAC
should be compatible with it. Therefore you could also install the version that ships with Visual Studio 2017
into the GAC to fix the version mismatch. To do so, from a Developer Command Prompt with Admin permissions,
run the command:</p>
<pre><code>gacutil /if &quot;%VSINSTALLDIR%Common7\IDE\PrivateAssemblies\Newtonsoft.Json.dll&quot;
</code></pre></article>
</div>
<div class="hidden-sm col-md-2" role="complementary">
<div class="sideaffix">
<div class="contribution">
<ul class="nav">
<li>
<a href="https://github.com/billti/jsdocs/blob/master/articles/troubleshooting/newtonsoft.md/#L1" class="contribution-link">Improve this Doc</a>
</li>
</ul>
</div>
<nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
<!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
</nav>
</div>
</div>
</div>
</div>
<footer>
<div class="grad-bottom"></div>
<div class="footer">
<div class="container">
<span class="pull-right">
<a href="#top">Back to top</a>
</span>
<span>Copyright © 2015-2017 Microsoft<br>Generated by <strong>DocFX</strong></span>
</div>
</div>
</footer>
</div>
<script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
<script type="text/javascript" src="../../styles/docfx.js"></script>
<script type="text/javascript" src="../../styles/main.js"></script>
</body>
</html>

Двоичные данные
docs/images/NewtonSoftPath.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 60 KiB

Двоичные данные
docs/images/node/UnitTestsDiscoveryMocha.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 5.4 KiB

Двоичные данные
docs/images/node/UnitTestsFrameworkMocha.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 9.3 KiB

Двоичные данные
docs/images/node/installation-nodejs-options.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 13 KiB

Двоичные данные
docs/images/node/installation-nodejs-workload.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 6.3 KiB

Двоичные данные
docs/images/node/installation-vs-launch.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 15 KiB

Двоичные данные
docs/images/node/unit-test-add-new-item.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 27 KiB

Просмотреть файл

@ -201,7 +201,7 @@
"output": {
".html": {
"relative_path": "articles/editor/refactoring.html",
"hash": "Ri6lJbkuMRAcpvrDCW2fIQ=="
"hash": "o6oL3zr3ef4nl0zxz1o5QQ=="
}
},
"is_incremental": true,
@ -216,7 +216,7 @@
"hash": "XOhjz1/vI86ELYgtaxbpzQ=="
}
},
"is_incremental": false,
"is_incremental": true,
"version": ""
},
{
@ -321,7 +321,7 @@
"output": {
".html": {
"relative_path": "articles/nodejs/npm.html",
"hash": "6bVjKvZ6AXPU4rqxb9zGIg=="
"hash": "bQWwIjI0ckIHmpIA6nMeHA=="
}
},
"is_incremental": true,
@ -333,7 +333,7 @@
"output": {
".html": {
"relative_path": "articles/nodejs/requirements.html",
"hash": "raha/Z73nal8dAqTHYSSCw=="
"hash": "JdG9kjWfts/3bkRBn+G7gA=="
}
},
"is_incremental": true,
@ -357,7 +357,7 @@
"output": {
".html": {
"relative_path": "articles/nodejs/unittesting.html",
"hash": "6orOm1PVuEox0fZQH6mRog=="
"hash": "wMM8/MCLUNhYmWohCgtpGA=="
}
},
"is_incremental": true,
@ -465,7 +465,7 @@
"output": {
".html": {
"relative_path": "articles/toc.html",
"hash": "H5rXX4Ir7PWqq4KttQutOQ=="
"hash": "r4bBOzkmyQszxCbI0IWxKg=="
}
},
"is_incremental": false,
@ -495,6 +495,18 @@
"is_incremental": true,
"version": ""
},
{
"type": "Conceptual",
"source_relative_path": "articles/troubleshooting/newtonsoft.md",
"output": {
".html": {
"relative_path": "articles/troubleshooting/newtonsoft.html",
"hash": "Ap0J8F0bips5MccBKIsi9Q=="
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Conceptual",
"source_relative_path": "articles/types/allowjs.md",
@ -555,6 +567,17 @@
"is_incremental": true,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/NewtonSoftPath.png",
"output": {
"resource": {
"relative_path": "images/NewtonSoftPath.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/jslsdisabledpopup.png",
@ -566,6 +589,28 @@
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/UnitTestsDiscoveryMocha.png",
"output": {
"resource": {
"relative_path": "images/node/UnitTestsDiscoveryMocha.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/UnitTestsFrameworkMocha.png",
"output": {
"resource": {
"relative_path": "images/node/UnitTestsFrameworkMocha.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/extraneous-npm.png",
@ -577,6 +622,39 @@
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/installation-nodejs-options.png",
"output": {
"resource": {
"relative_path": "images/node/installation-nodejs-options.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/installation-nodejs-workload.png",
"output": {
"resource": {
"relative_path": "images/node/installation-nodejs-workload.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/installation-vs-launch.png",
"output": {
"resource": {
"relative_path": "images/node/installation-vs-launch.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/installed-npm.png",
@ -623,10 +701,21 @@
},
{
"type": "Resource",
"source_relative_path": "images/node/solution-explorer-status.PNG",
"source_relative_path": "images/node/solution-explorer-status.png",
"output": {
"resource": {
"relative_path": "images/node/solution-explorer-status.PNG"
"relative_path": "images/node/solution-explorer-status.png"
}
},
"is_incremental": false,
"version": ""
},
{
"type": "Resource",
"source_relative_path": "images/node/unit-test-add-new-item.png",
"output": {
"resource": {
"relative_path": "images/node/unit-test-add-new-item.png"
}
},
"is_incremental": false,
@ -719,6 +808,19 @@
"incrementalPhase": "build"
},
"processors": {
"TocDocumentProcessor": {
"can_incremental": false,
"details": "Processor TocDocumentProcessor cannot suppport incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.",
"incrementalPhase": "build"
},
"ConceptualDocumentProcessor": {
"can_incremental": true,
"incrementalPhase": "build"
},
"ManagedReferenceDocumentProcessor": {
"can_incremental": true,
"incrementalPhase": "build"
},
"ResourceDocumentProcessor": {
"can_incremental": false,
"details": "Processor ResourceDocumentProcessor cannot suppport incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.",
@ -728,19 +830,6 @@
"can_incremental": false,
"details": "Processor RestApiDocumentProcessor cannot suppport incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.",
"incrementalPhase": "build"
},
"ManagedReferenceDocumentProcessor": {
"can_incremental": true,
"incrementalPhase": "build"
},
"ConceptualDocumentProcessor": {
"can_incremental": true,
"incrementalPhase": "build"
},
"TocDocumentProcessor": {
"can_incremental": false,
"details": "Processor TocDocumentProcessor cannot suppport incremental build because the processor doesn't implement ISupportIncrementalDocumentProcessor interface.",
"incrementalPhase": "build"
}
}
},

Двоичные данные
images/NewtonSoftPath.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 60 KiB