Added NewtonSoft.Json troubleshooting docs
|
@ -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 & Quick fixes </title>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<meta name="title" content="Refactoring & 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'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&rel=15&utm_source=docs&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&rel=15&utm_source=docs&utm_medium=clickbutton">Visual Studio 2017 Professional</a>
|
||||
or <a href="https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Enterprise&rel=15&utm_source=docs&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 "Visual Studio".</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'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('assert');
|
||||
|
||||
describe('Test Suite 1', function() {
|
||||
it('Test 1', function() {
|
||||
assert.ok(true, "This shouldn't fail");
|
||||
})
|
||||
|
||||
it('Test 2', function() {
|
||||
assert.ok(1 === 1, "This shouldn't fail");
|
||||
assert.ok(false, "This should fail");
|
||||
})
|
||||
})
|
||||
</code></pre><p>And the Test Framework property is set to 'Mocha'.</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'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'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 'Run All' link in the Test Explorer window, or by selecting one or more
|
||||
tests or groups, right-clicking and selecting 'Run Selected Tests'. 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
|
||||
'Debug Selected Tests'.</p>
|
||||
<div class="NOTE"><h5>Note</h5><p>Currently we don'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 'Developer Command for VS 2017" using the following:</p>
|
||||
<pre><code>vstest.console.exe <path to project file>\NodejsConsoleApp23.njsproj /TestAdapterPath:<VisualStudioFolder>\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.<anonymous> (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'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'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>
|
||||
|
||||
<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 "Modules"
|
||||
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 "devenv.exe").</li>
|
||||
<li>From the menu of the new instance select "Debug" / "Attach to Process..."</li>
|
||||
<li>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"</li>
|
||||
<li>Once attached, from the menu select "Debug" / "Windows" / "Modules"</li>
|
||||
<li>Locate "NewtonSoft.Json.dll" in the list and note the "Path".</li>
|
||||
</ol>
|
||||
<p>The path to the loaded module should be under the "Common7\IDE\PrivateAssemblies" 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 "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.</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 "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:</p>
|
||||
<pre><code>gacutil /if "%VSINSTALLDIR%Common7\IDE\PrivateAssemblies\Newtonsoft.Json.dll"
|
||||
</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>
|
После Ширина: | Высота: | Размер: 60 KiB |
После Ширина: | Высота: | Размер: 5.4 KiB |
После Ширина: | Высота: | Размер: 9.3 KiB |
После Ширина: | Высота: | Размер: 13 KiB |
После Ширина: | Высота: | Размер: 6.3 KiB |
После Ширина: | Высота: | Размер: 15 KiB |
После Ширина: | Высота: | Размер: 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"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
После Ширина: | Высота: | Размер: 60 KiB |