diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..91ecc59 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# .NET project model parser + +Provides project model deserializer for .NET projects: + * csproj files + * project.json + * packages.config + * nuget.config + * project.asset.json + +## Example + +```kt +// initialize utilitis services +val readerFactory = ReaderFactoryImpl() +val xmlDocumentService = XmlDocumentServiceImpl1() + +// initialize nuget.config deserializer and Discoverer +val nuGetConfigDeserializer = NuGetConfigDeserializer(xmlDocumentService) +val nuGetConfigDiscoverer = NuGetConfigDiscoverer(nuGetConfigDeserializer) + +// initialize project deserializers and Discoverer +val jsonProjectDeserializer = JsonProjectDeserializer(readerFactory, nuGetConfigDiscoverer) +val msBuildProjectDeserializer = MSBuildProjectDeserializer(xmlDocumentService, nuGetConfigDiscoverer) +val msBuildSolutionDeserializer = MSBuildSolutionDeserializer(readerFactory, msBuildProjectDeserializer) +val jsonAssetsProjectDeserializer = JsonAssetsProjectDeserializer(readerFactory, nuGetConfigDiscoverer) + +val deserializers = listOf( + jsonProjectDeserializer, + msBuildProjectDeserializer, + msBuildSolutionDeserializer, + jsonAssetsProjectDeserializer +) + +val discoverer = SolutionDiscoverImpl(deserializers) + +//initialize stream factory +val projectRoot = File("/path/to/project") +val streamFactory = FileProjectStreamFactory(projectRoot) + +// deserialize project +val projectFiles = projectRoot.list()?.asSequence()?.map { Paths.get(it) } ?: emptySequence() +val solutions = discoverer.discover(streamFactory, projectFiles).toList() + +solutions.flatMap { it.projects }.forEach { println(it) } +``` + diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 19afec6..0000000 --- a/build.gradle +++ /dev/null @@ -1,45 +0,0 @@ -plugins { - id 'org.jetbrains.kotlin.jvm' version '1.3.41' - id 'java-library' - id 'maven-publish' -} - - - -group = 'org.jetbrains' -version = '1.0' - -publishing { - publications { - myLibrary(MavenPublication) { - from components.java - } - } -} - - - -repositories { - mavenCentral() -} - -test { - useTestNG() -} - -dependencies { - compile "org.jetbrains.kotlin:kotlin-stdlib" - compile 'com.google.code.gson:gson:2.5' - compile 'org.slf4j:slf4j-api:1.7.25' - compile 'org.slf4j:slf4j-simple:1.7.25' - - testCompile 'org.testng:testng:6.14.3' - testCompile 'org.jmock:jmock:2.5.1' -} - -compileKotlin { - kotlinOptions.jvmTarget = "1.6" -} -compileTestKotlin { - kotlinOptions.jvmTarget = "1.6" -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..dfb9ca0 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,94 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + +plugins { + kotlin("jvm") version "1.3.41" + `maven-publish` + id("com.jfrog.bintray") version "1.8.4" +} + + +val myGroup = "org.jetbrains" +val myArtifactID = rootProject.name +val currentVersion = findProperty("projectVersion") as? String ?: "1.0-SNAPSHOT" +val description = "Provides project model deserializer for .NET projects" +val repUrl = "https://github.com/JetBrains/dotnet-project-model" +group = myGroup +version = currentVersion + +val sourcesJar by tasks.registering(Jar::class) { + archiveClassifier.set("sources") + from(sourceSets.main.get().allSource) +} + +val publicationName = "Lib" + +publishing { + publications { + create(publicationName) { + from(components["java"]) + artifact(sourcesJar.get()) + groupId = myGroup + artifactId = myArtifactID + version = currentVersion + + pom.withXml { + asNode().apply { + appendNode("description", description) + appendNode("name", rootProject.name) + appendNode("url", repUrl) + appendNode("licenses").appendNode("license").apply { + appendNode("name", "The Apache Software License, Version 2.0") + appendNode("url", "http://www.apache.org/licenses/LICENSE-2.0.txt") + appendNode("distribution", "repo") + } + appendNode("scm").apply { + appendNode("url", repUrl) + } + } + } + } + } +} + +bintray { + user = if (project.hasProperty("bintrayUser")) project.property("bintrayUser") as String? else System.getenv("BINTRAY_USER") + key = if (project.hasProperty("bintrayApiKey")) project.property("bintrayApiKey") as String? else System.getenv("BINTRAY_API_KEY") + publish = true + setPublications(publicationName) + setConfigurations("archives") + pkg.apply { + repo = "libraries" + name = myArtifactID + userOrg = user + setLicenses("Apache-2.0") + setLabels("kotlin") + vcsUrl = "https://github.com/JetBrains/dotnet-project-model.git" + version.apply { + name = currentVersion + } + } +} + + + +repositories { + mavenCentral() +} + +tasks.withType { + useTestNG() +} + +dependencies { + implementation("org.jetbrains.kotlin:kotlin-stdlib") + implementation("com.google.code.gson:gson:2.5") + implementation("org.slf4j:slf4j-api:1.7.25") + implementation("org.slf4j:slf4j-simple:1.7.25") + + testImplementation("org.testng:testng:6.14.3") + testImplementation("org.jmock:jmock:2.5.1") +} + +tasks.withType { + kotlinOptions.jvmTarget = "1.8" +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index fedd5cc..0000000 --- a/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'dotnet-discovery' - diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..23d1474 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,2 @@ +rootProject.name = "dotnet-project-model" + diff --git a/src/main/kotlin/org/jetbrains/dotnet/common/FileUtils.kt b/src/main/kotlin/org/jetbrains/dotnet/common/FileUtils.kt new file mode 100644 index 0000000..63c9416 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/common/FileUtils.kt @@ -0,0 +1,29 @@ +package org.jetbrains.dotnet.common + +import java.nio.file.Path +import java.nio.file.Paths + +internal fun Path.toNormalizedUnixString(): String = this.normalize().toString().toSystem(true) + +internal fun String.toSystem(isUnix: Boolean = !isWindows()): String { + val separators = getSeparators(isUnix) + return this.replace(separators.first, separators.second) +} + +internal fun Path.toSystem(isUnix: Boolean = !isWindows()) = + Paths.get(this.toString().toSystem(isUnix)) + + +private fun isWindows(): Boolean { + return System.getProperty("os.name").toLowerCase().contains("win") +} + +private fun getSeparators(isUnix: Boolean) = + if (isUnix) { + WINDOWS_SEPARATOR to UNIX_SEPARATOR + } else { + UNIX_SEPARATOR to WINDOWS_SEPARATOR + } + +private const val WINDOWS_SEPARATOR = "\\" +private const val UNIX_SEPARATOR = "/" \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/common/XPathReader.kt b/src/main/kotlin/org/jetbrains/dotnet/common/XPathReader.kt new file mode 100644 index 0000000..e976dd6 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/common/XPathReader.kt @@ -0,0 +1,27 @@ +package org.jetbrains.dotnet.common + +import org.w3c.dom.Document +import org.w3c.dom.Element +import org.w3c.dom.NodeList +import javax.xml.xpath.XPathConstants +import javax.xml.xpath.XPathFactory + +open class XPathReader { + + private val xPath = XPathFactory.newInstance().newXPath() + + protected fun getElements(doc: Document, xpath: String): Sequence = sequence { + val nodes = xPath.evaluate(xpath, doc, XPathConstants.NODESET) as NodeList + for (i in 0 until nodes.length) { + val element = nodes.item(i) as Element + yield(element) + } + } + + protected fun getContents(doc: Document, xpath: String): Sequence = + getElements(doc, xpath).map { it.textContent }.filter { !it.isNullOrBlank() } + + protected fun getAttributes(doc: Document, xpath: String, attributeName: String): Sequence = + getElements(doc, xpath).map { it.getAttribute(attributeName) }.filter { !it.isNullOrBlank() } + +} \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/common/XmlDocumentServiceImpl.kt b/src/main/kotlin/org/jetbrains/dotnet/common/XmlDocumentServiceImpl.kt index 1cd1f8a..3b90e53 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/common/XmlDocumentServiceImpl.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/common/XmlDocumentServiceImpl.kt @@ -22,7 +22,6 @@ class XmlDocumentServiceImpl : XmlDocumentService { } catch (ex: ParserConfigurationException) { throw IllegalStateException("Error during creating xml document") } - return docBuilder.newDocument() } diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Configuration.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/Configuration.kt deleted file mode 100644 index 69f0b06..0000000 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Configuration.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.jetbrains.dotnet.discovery - -data class Configuration(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/FileStreamFactory.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/FileProjectStreamFactory.kt similarity index 64% rename from src/main/kotlin/org/jetbrains/dotnet/discovery/FileStreamFactory.kt rename to src/main/kotlin/org/jetbrains/dotnet/discovery/FileProjectStreamFactory.kt index 72e76c2..37ac218 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/FileStreamFactory.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/FileProjectStreamFactory.kt @@ -4,10 +4,11 @@ import org.slf4j.Logger import org.slf4j.LoggerFactory import java.io.File import java.io.InputStream +import java.nio.file.Path -class FileStreamFactory(private val baseDirectory: File) : StreamFactory { - override fun tryCreate(path: String): InputStream? { - val file = File(baseDirectory, path) +class FileProjectStreamFactory(private val baseDirectory: File) : ProjectStreamFactory { + override fun tryCreate(path: Path): InputStream? { + val file = baseDirectory.toPath().resolve(path).toFile() if (!file.exists()) { LOG.debug("File $path was not found") return null diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Framework.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/Framework.kt deleted file mode 100644 index c162840..0000000 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Framework.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.jetbrains.dotnet.discovery - -data class Framework(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonAssetsProjectDeserializer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonAssetsProjectDeserializer.kt new file mode 100644 index 0000000..840af29 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonAssetsProjectDeserializer.kt @@ -0,0 +1,87 @@ +package org.jetbrains.dotnet.discovery + +import com.google.gson.Gson +import com.google.gson.JsonSyntaxException +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.common.toSystem +import org.jetbrains.dotnet.discovery.data.* +import org.jetbrains.dotnet.discovery.data.Reference.Companion.DEFAULT_VERSION +import org.jetbrains.dotnet.discovery.data.Target +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import java.nio.file.Path +import java.nio.file.Paths +import java.util.regex.Pattern + +class JsonAssetsProjectDeserializer( + private val readerFactory: ReaderFactory, + private val sourceDiscoverer: NuGetConfigDiscoverer? = null +) : SolutionDeserializer { + + private val gson: Gson = Gson() + + override fun accept(path: Path): Boolean = PathPattern.matcher(path.toNormalizedUnixString()).find() + + override fun deserialize(path: Path, projectStreamFactory: ProjectStreamFactory): Solution = + projectStreamFactory.tryCreate(path)?.use { inputStream -> + readerFactory.create(inputStream).use { reader -> + val doc = try { + gson.fromJson(reader, JsonAssetsProjectDto::class.java) + } catch (e : JsonSyntaxException) { + LOG.debug("$path contains invalid json") + return Solution(emptyList()) + } + + val fullPathToConfig = doc.project?.restore?.projectPath?.let { Paths.get(it) } ?: path + + val targets = doc.targets?.keys?.map { Target(it) } ?: emptyList() + + val roots : Set = doc.project?.frameworks?.values + ?.flatMap { + it.dependencies?.keys ?: emptySet() + } + ?.toHashSet() ?: emptySet() + + val references = doc.targets?.values + ?.flatMap { it.entries } + ?.map { (id, pkg) -> + val splinteredId = id.split("/") + val name = splinteredId[0] + val version = splinteredId.getOrNull(1) ?: DEFAULT_VERSION + val dependencies = pkg.dependencies?.entries + ?.map { (name, ver) -> Reference(name, ver, fullPathToConfig.toNormalizedUnixString()) } ?: emptyList() + + val isRoot = roots.contains(name) + Reference(name, version, fullPathToConfig.toNormalizedUnixString(), dependencies, isRoot) + } ?: emptyList() + + val frameworks = doc.project?.frameworks?.keys?.map { Framework(it) } ?: emptyList() + + val configs = doc.project?.restore?.configs + + + val sources = sourceDiscoverer?.let { discoverer -> + configs?.asSequence()?.flatMap { discoverer.deserializer.deserialize(Paths.get(it.toSystem()), projectStreamFactory) }?.toList() + ?: discoverer.discover(path, projectStreamFactory).toList() + } ?: emptyList() + + Solution( + listOf( + Project( + fullPathToConfig.toNormalizedUnixString(), + targets = targets, + references = references, + frameworks = frameworks, + sources = sources + ) + ) + ) + } + } ?: Solution(emptyList()) + + + private companion object { + private val LOG: Logger = LoggerFactory.getLogger(JsonAssetsProjectDeserializer::class.java.name) + private val PathPattern: Pattern = Pattern.compile("^(.+[^\\w\\d]|)project\\.assets\\.json$", Pattern.CASE_INSENSITIVE) + } +} \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonAssetsProjectDto.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonAssetsProjectDto.kt new file mode 100644 index 0000000..7b3f036 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonAssetsProjectDto.kt @@ -0,0 +1,26 @@ +package org.jetbrains.dotnet.discovery + +import com.google.gson.annotations.SerializedName + +class JsonAssetsProjectDto( + @SerializedName("targets") val targets: Map>?, + @SerializedName("project") val project: ProjectDto? +) + +class PackageDto( + @SerializedName("dependencies") val dependencies: Map? +) + +class ProjectDto( + @SerializedName("restore") val restore : RestoreDto?, + @SerializedName("frameworks") val frameworks: Map? +) + +class DependenciesDto( + @SerializedName("dependencies") val dependencies: Map? +) + +class RestoreDto( + @SerializedName("projectPath") val projectPath : String?, + @SerializedName("configFilePaths") val configs : List? +) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDeserializer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDeserializer.kt index 23d345f..22f673b 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDeserializer.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDeserializer.kt @@ -2,10 +2,19 @@ package org.jetbrains.dotnet.discovery import com.google.gson.Gson import com.google.gson.GsonBuilder +import com.google.gson.JsonObject +import com.google.gson.JsonSyntaxException +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.discovery.data.* +import org.jetbrains.dotnet.discovery.data.Reference.Companion.DEFAULT_VERSION +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import java.nio.file.Path import java.util.regex.Pattern class JsonProjectDeserializer( - private val _readerFactory: ReaderFactory + private val _readerFactory: ReaderFactory, + private val sourceDiscoverer: NuGetConfigDiscoverer? = null ) : SolutionDeserializer { private val _gson: Gson @@ -15,36 +24,56 @@ class JsonProjectDeserializer( _gson = builder.create() } - override fun accept(path: String): Boolean = PathPattern.matcher(path).find() + override fun accept(path: Path): Boolean = PathPattern.matcher(path.toNormalizedUnixString()).find() - override fun deserialize(path: String, streamFactory: StreamFactory): Solution = - streamFactory.tryCreate(path)?.let { - it.use { - _readerFactory.create(it).use { - val project = _gson.fromJson(it, JsonProjectDto::class.java) - val configurations = project.configurations?.keys?.map { - Configuration( - it - ) - } ?: emptyList() - val frameworks = project.frameworks?.keys?.map { Framework(it) } ?: emptyList() - val runtimes = project.runtimes?.keys?.map { Runtime(it) } ?: emptyList() - Solution( - listOf( - Project( - path, - configurations, - frameworks, - runtimes, - emptyList() - ) + override fun deserialize(path: Path, projectStreamFactory: ProjectStreamFactory): Solution = + projectStreamFactory.tryCreate(path)?.use { stream -> + _readerFactory.create(stream).use { reader -> + val project = try { + _gson.fromJson(reader, JsonProjectDto::class.java) + } catch (e: JsonSyntaxException) { + LOG.debug("$path contains invalid json") + return Solution(emptyList()) + } + + val configurations = project.configurations?.keys?.map { + Configuration(it) + } ?: emptyList() + + val frameworks = project.frameworks?.keys?.map { Framework(it) } ?: emptyList() + + val runtimes = project.runtimes?.keys?.map { Runtime(it) } ?: emptyList() + + val references = project.dependencies?.mapNotNull { (name, info) -> + val version = when(info) { + is String -> info + is JsonObject -> { + info["version"]?.asString + } + else -> null + } ?: DEFAULT_VERSION + Reference(name, version, path.toNormalizedUnixString()) + } ?: emptyList() + + val sources = sourceDiscoverer?.discover(path, projectStreamFactory)?.toList() ?: emptyList() + + Solution( + listOf( + Project( + path.toNormalizedUnixString(), + configurations, + frameworks, + runtimes, + references, + sources = sources ) ) - } + ) } } ?: Solution(emptyList()) private companion object { + private val LOG: Logger = LoggerFactory.getLogger(JsonProjectDeserializer::class.java.name) private val PathPattern: Pattern = Pattern.compile("^(.+[^\\w\\d]|)project\\.json$", Pattern.CASE_INSENSITIVE) } } \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDto.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDto.kt index eaee3fc..a49ab21 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDto.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/JsonProjectDto.kt @@ -17,4 +17,5 @@ class JsonProjectDto { var configurations: Map? = null var frameworks: Map? = null var runtimes: Map? = null + var dependencies: Map? = null } diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildProjectDeserializer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildProjectDeserializer.kt index 9582316..f69b560 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildProjectDeserializer.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildProjectDeserializer.kt @@ -1,103 +1,149 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.common.XPathReader import org.jetbrains.dotnet.common.XmlDocumentService +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.common.toSystem +import org.jetbrains.dotnet.discovery.data.* +import org.jetbrains.dotnet.discovery.data.Reference.Companion.DEFAULT_VERSION +import org.jetbrains.dotnet.discovery.data.Target import org.w3c.dom.Document import org.w3c.dom.Element -import org.w3c.dom.NodeList -import java.util.regex.Pattern -import java.util.regex.Pattern.CASE_INSENSITIVE -import javax.xml.xpath.XPathConstants -import javax.xml.xpath.XPathFactory +import java.nio.file.Path +import java.nio.file.Paths class MSBuildProjectDeserializer( - private val _xmlDocumentService: XmlDocumentService -) : SolutionDeserializer { - override fun accept(path: String): Boolean = PathPattern.matcher(path).find() - - override fun deserialize(path: String, streamFactory: StreamFactory): Solution = - streamFactory.tryCreate(path)?.let { - it.use { - val doc = _xmlDocumentService.deserialize(it) - - val configurations = getAttributes(doc, "/Project/*[@Condition]", "Condition") - .map { ConditionPattern.find(it) } - .map { it?.let { it.groupValues[2] } } - .filter { !it.isNullOrBlank() } - .map { it as String } - .plus(getContents(doc, "/Project/PropertyGroup/Configuration")) - .distinct() - .map { Configuration(it) } - .toList() - - val frameworks = getContents(doc, "/Project/PropertyGroup/TargetFrameworks") - .flatMap { it.split(';').asSequence() } - .plus(getContents(doc, "/Project/PropertyGroup/TargetFramework")) - .distinct() - .map { Framework(it) } - .toList() - - val runtimes = getContents(doc, "/Project/PropertyGroup/RuntimeIdentifiers") - .flatMap { it.split(';').asSequence() } - .plus(getContents(doc, "/Project/PropertyGroup/RuntimeIdentifier")) - .distinct() - .map { Runtime(it) } - .toList() - - val references = getAttributes(doc, "/Project/ItemGroup/PackageReference[@Include]", "Include") - .filter { !it.isBlank() } - .plus( - getAttributes(doc, "/Project/ItemGroup/Reference[@Include]", "Include") - .map { it.split(',').firstOrNull() } - .filter { !it.isNullOrBlank() }) - .distinct() - .map { Reference(it!!) } - .toList() - - val targets = getAttributes(doc, "/Project/Target[@Name]", "Name") - .distinct() - .map { Target(it) } - .toList() - - val generatePackageOnBuild = getContents(doc, "/Project/PropertyGroup/GeneratePackageOnBuild") - .filter { "true".equals(it.trim(), true) } - .any() - - Solution( - listOf( - Project( - path, - configurations, - frameworks, - runtimes, - references, - targets, - generatePackageOnBuild - ) + private val _xmlDocumentService: XmlDocumentService, + private val sourceDiscoverer: NuGetConfigDiscoverer? = null +) : XPathReader(), SolutionDeserializer { + override fun accept(path: Path): Boolean = + supportedConfigs.contains(path.toSystem().toFile().extension.toLowerCase()) + + override fun deserialize(path: Path, projectStreamFactory: ProjectStreamFactory): Solution = + projectStreamFactory.tryCreate(path)?.use { stream -> + val doc = _xmlDocumentService.deserialize(stream) + + val packagesConfigPath = Paths.get(path.parent?.toString() ?: "", "packages.config") + + val packagesConfig = projectStreamFactory.tryCreate(packagesConfigPath)?.use { packageConfigDoc -> + loadPackagesConfig(_xmlDocumentService.deserialize(packageConfigDoc)) + .map { Reference(it.first, it.second, packagesConfigPath.toNormalizedUnixString()) } + } ?: emptySequence() + + val configurations = getAttributes(doc, "/Project/*[@Condition]", "Condition") + .mapNotNull { ConditionPattern.find(it)?.groupValues?.get(2) } + .filter { it.isNotBlank() } + .plus(getContents(doc, "/Project/PropertyGroup/Configuration")) + .distinct() + .map { Configuration(it) } + .toList() + + val frameworks = getContents(doc, "/Project/PropertyGroup/TargetFrameworks") + .flatMap { it.split(';').asSequence() } + .plus(getContents(doc, "/Project/PropertyGroup/TargetFramework")) + .distinct() + .map { Framework(it) } + .toList() + + val runtimes = getContents(doc, "/Project/PropertyGroup/RuntimeIdentifiers") + .flatMap { it.split(';').asSequence() } + .plus(getContents(doc, "/Project/PropertyGroup/RuntimeIdentifier")) + .distinct() + .map { Runtime(it) } + .toList() + + val references = getPackageReferences(doc, "/Project/ItemGroup/PackageReference[@Include]") + .map { Reference(it.first, it.second, path.toNormalizedUnixString()) } + .plus( + getAttributes(doc, "/Project/ItemGroup/Reference[@Include]", "Include") + .map { + val attributes = it.split(',') + val id = attributes.first() + val version = attributes + .mapNotNull { versionPattern.find(it)?.groupValues?.get(1) } + .firstOrNull() ?: DEFAULT_VERSION + + Reference(id, version, path.toNormalizedUnixString()) + } + ) + .plus(packagesConfig) + .filter { it.id.isNotBlank() } + .distinct() + .toList() + + val targets = getAttributes(doc, "/Project/Target[@Name]", "Name") + .distinct() + .map { Target(it) } + .toList() + + val generatePackageOnBuild = getContents(doc, "/Project/PropertyGroup/GeneratePackageOnBuild") + .filter { "true".equals(it.trim(), true) } + .any() + + val sources = sourceDiscoverer?.discover(path, projectStreamFactory)?.toList() ?: emptyList() + + Solution( + listOf( + Project( + path.toNormalizedUnixString(), + configurations, + frameworks, + runtimes, + references, + targets, + sources, + generatePackageOnBuild ) ) - } + ) } ?: Solution(emptyList()) - private fun getElements(doc: Document, xpath: String): Sequence = sequence { - val nodes = xPath.evaluate(xpath, doc, XPathConstants.NODESET) as NodeList - for (i in 0 until nodes.length) { - val element = nodes.item(i) as Element - yield(element) + private fun getPackageReferences(doc: Document, xpath: String): Sequence> = + getElements(doc, xpath) + .map { Pair(it.getAttribute("Include") ?: "", getVersion(it)) } + .filter { it.first.isNotEmpty() } + + private fun getVersion(element: Element): String { + val rawVersion = when { + element.hasAttribute("Version") -> element.getAttribute("Version") + else -> element.getElementsByTagName("Version")?.item(0)?.textContent + } + return if (rawVersion.isNullOrBlank()) { + DEFAULT_VERSION + } else { + rawVersion } } - private fun getContents(doc: Document, xpath: String): Sequence = - getElements(doc, xpath).map { it.textContent }.filter { !it.isNullOrBlank() } - - private fun getAttributes(doc: Document, xpath: String, attributeName: String): Sequence = - getElements(doc, xpath).map { it.getAttribute(attributeName) }.filter { !it.isNullOrBlank() } - - private val xPath = XPathFactory.newInstance().newXPath() + private fun loadPackagesConfig(doc: Document): Sequence> = + getElements(doc, "/packages/package") + .map { + Pair( + it.getAttribute("id") ?: "", + it.getAttribute("version") ?: DEFAULT_VERSION + ) + } + .filter { it.first.isNotBlank() } companion object { private val ConditionPattern: Regex = Regex("'\\$\\(Configuration\\)([^']*)' == '([^|]*)([^']*)'", RegexOption.IGNORE_CASE) - private val PathPattern: Pattern = Pattern.compile("^.+\\.(proj|csproj|vbproj)$", CASE_INSENSITIVE) + private val versionPattern: Regex = Regex("""^\s*Version\s*=\s*(.*)$""") + val supportedConfigs = listOf( + "csproj", + "vbproj", + "vcxproj", + "dbproj", + "fsproj", + "pyproj", + "rbproj", + "wixproj", + "vdproj", + "isproj", + "pssproj", + "modelproj", + "proj" + ) } } \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildSolutionDeserializer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildSolutionDeserializer.kt index 406a6a2..fc0bc7c 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildSolutionDeserializer.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/MSBuildSolutionDeserializer.kt @@ -1,51 +1,46 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.common.toSystem +import org.jetbrains.dotnet.discovery.data.Solution +import java.nio.file.Path +import java.nio.file.Paths import java.util.regex.Pattern class MSBuildSolutionDeserializer( private val _readerFactory: ReaderFactory, private val _msBuildProjectDeserializer: SolutionDeserializer ) : SolutionDeserializer { - override fun accept(path: String): Boolean = PathPattern.matcher(path).find() + override fun accept(path: Path): Boolean = + supportedConfigs.contains(path.toSystem().toFile().extension.toLowerCase()) - override fun deserialize(path: String, streamFactory: StreamFactory): Solution = - streamFactory.tryCreate(path)?.let { - it.use { - _readerFactory.create(it).use { - val projects = it - .readLines() - .asSequence() - .map { ProjectPathPattern.matcher(it) } - .filter { it.find() } - .map { - it?.let { - val projectPath = normalizePath(path, it.group(1)) - if (_msBuildProjectDeserializer.accept(projectPath)) { - _msBuildProjectDeserializer.deserialize(projectPath, streamFactory) - .projects.asSequence() - } else { - emptySequence() - } - } ?: emptySequence() + override fun deserialize(path: Path, projectStreamFactory: ProjectStreamFactory): Solution = + projectStreamFactory.tryCreate(path)?.use { + _readerFactory.create(it).use { + val projects = it + .readLines() + .asSequence() + .mapNotNull { ProjectPathPattern.matcher(it) } + .filter { it.find() } + .flatMap { + val projectPath = getProjectPath(path, Paths.get(it.group(1))) + if (_msBuildProjectDeserializer.accept(projectPath)) { + _msBuildProjectDeserializer.deserialize(projectPath, projectStreamFactory) + .projects.asSequence() + } else { + emptySequence() } - .asSequence() - .flatMap { it } - .distinctBy { it.project } - .toList() + } + .distinctBy { it.project } + .toList() - Solution(projects, path) - } + Solution(projects, path.toNormalizedUnixString()) } } ?: Solution(emptyList()) - fun normalizePath(basePath: String, path: String): String { - val baseParent = basePath.replace('\\', '/').split('/').reversed().drop(1).reversed().joinToString("/") - val normalizedPath = path.replace('\\', '/') - if (baseParent.isBlank()) { - return normalizedPath - } - - return "$baseParent/$normalizedPath" + fun getProjectPath(basePath: Path, path: Path): Path { + val baseParent = basePath.toSystem().parent ?: Paths.get("") + return baseParent.resolve(path.toSystem()) } private companion object { @@ -53,6 +48,6 @@ class MSBuildSolutionDeserializer( "^Project\\(.+\\)\\s*=\\s*\".+\"\\s*,\\s*\"(.+)\"\\s*,\\s*\".+\"\\s*\$", Pattern.CASE_INSENSITIVE ) - private val PathPattern: Pattern = Pattern.compile("^.+\\.sln$", Pattern.CASE_INSENSITIVE) + val supportedConfigs = listOf("sln") } } \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/NuGetConfigDeserializer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/NuGetConfigDeserializer.kt new file mode 100644 index 0000000..df52934 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/NuGetConfigDeserializer.kt @@ -0,0 +1,27 @@ +package org.jetbrains.dotnet.discovery + +import org.jetbrains.dotnet.common.XPathReader +import org.jetbrains.dotnet.common.XmlDocumentService +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.discovery.data.Source +import java.nio.file.Path +import java.util.regex.Pattern + +class NuGetConfigDeserializer(private val xmlDocumentService: XmlDocumentService) : XPathReader() { + + fun accept(path: Path) = PathPattern.matcher(path.toNormalizedUnixString()).find() + + fun deserialize(path: Path, projectStreamFactory: ProjectStreamFactory): Sequence = + projectStreamFactory.tryCreate(path)?.use { inputStream -> + val doc = xmlDocumentService.deserialize(inputStream) + getElements(doc, "/configuration/packageSources/add").map { + val name = it.getAttribute("key") + val url = it.getAttribute("value") + Source(name, url, path.toNormalizedUnixString()) + } + } ?: emptySequence() + + private companion object { + private val PathPattern: Pattern = Pattern.compile("^(.+[^\\w\\d]|)nuget\\.config$", Pattern.CASE_INSENSITIVE) + } +} \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/NuGetConfigDiscoverer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/NuGetConfigDiscoverer.kt new file mode 100644 index 0000000..84503b1 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/NuGetConfigDiscoverer.kt @@ -0,0 +1,22 @@ +package org.jetbrains.dotnet.discovery + +import org.jetbrains.dotnet.discovery.data.Source +import java.nio.file.Path +import java.nio.file.Paths + +class NuGetConfigDiscoverer( + val deserializer: NuGetConfigDeserializer +) { + fun discover(path: Path, projectStreamFactory: ProjectStreamFactory): Sequence { + var result = emptySequence() + + var currPath: Path? = Paths.get(".").resolve(path) + while (currPath != null) { + val possiblePath = currPath.resolve("nuget.config") + result += deserializer.deserialize(possiblePath, projectStreamFactory) + currPath = currPath.parent + } + return result.distinct() + } + +} diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectStreamFactory.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectStreamFactory.kt new file mode 100644 index 0000000..f5886b8 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectStreamFactory.kt @@ -0,0 +1,9 @@ +package org.jetbrains.dotnet.discovery + +import java.io.InputStream +import java.nio.file.Path + +interface ProjectStreamFactory { + fun tryCreate(path: Path): InputStream? +// val baseDirectory: File +} \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelector.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelector.kt index f81b258..760585b 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelector.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelector.kt @@ -1,5 +1,7 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.discovery.data.Project + interface ProjectTypeSelector { fun select(project: Project): Set } \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelectorImpl.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelectorImpl.kt index 6f91ebf..9c2d8ae 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelectorImpl.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/ProjectTypeSelectorImpl.kt @@ -1,5 +1,6 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.discovery.data.Project import java.util.regex.Pattern class ProjectTypeSelectorImpl : ProjectTypeSelector { diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Reference.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/Reference.kt deleted file mode 100644 index 02cfb5e..0000000 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Reference.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.jetbrains.dotnet.discovery - -data class Reference(val id: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Runtime.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/Runtime.kt deleted file mode 100644 index abb283b..0000000 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Runtime.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.jetbrains.dotnet.discovery - -data class Runtime(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDeserializer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDeserializer.kt index 275e460..35f761c 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDeserializer.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDeserializer.kt @@ -1,7 +1,10 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.discovery.data.Solution +import java.nio.file.Path + interface SolutionDeserializer { - fun accept(path: String): Boolean + fun accept(path: Path): Boolean - fun deserialize(path: String, streamFactory: StreamFactory): Solution + fun deserialize(path: Path, projectStreamFactory: ProjectStreamFactory): Solution } \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverImpl.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverImpl.kt index 5455f29..c1d7c56 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverImpl.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverImpl.kt @@ -1,16 +1,18 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.discovery.data.Solution import org.slf4j.Logger import org.slf4j.LoggerFactory +import java.nio.file.Path class SolutionDiscoverImpl( private val _discoverers: List ) : SolutionDiscover { - override fun discover(streamFactory: StreamFactory, paths: Sequence): Sequence = - paths.map { createSolutionSource(streamFactory, it) }.flatMap { it } + override fun discover(projectStreamFactory: ProjectStreamFactory, paths: Sequence): Sequence = + paths.map { createSolutionSource(projectStreamFactory, it) }.flatMap { it } - private fun createSolutionSource(streamFactory: StreamFactory, path: String): Sequence = sequence { + private fun createSolutionSource(projectStreamFactory: ProjectStreamFactory, path: Path): Sequence = sequence { LOG.debug("Discover \"$path\"") for (discoverer in _discoverers) { if (!discoverer.accept(path)) { @@ -19,8 +21,7 @@ class SolutionDiscoverImpl( LOG.debug("Use discoverer \"$discoverer\" for \"$path\"") try { - val solution = discoverer.deserialize(path, streamFactory) - LOG.debug("\"$discoverer\" finds \"$solution\"") + val solution = discoverer.deserialize(path, projectStreamFactory) yield(solution) break } catch (ex: Exception) { diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverer.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverer.kt index 2f85612..08b2591 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverer.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/SolutionDiscoverer.kt @@ -1,5 +1,8 @@ package org.jetbrains.dotnet.discovery +import org.jetbrains.dotnet.discovery.data.Solution +import java.nio.file.Path + interface SolutionDiscover { - fun discover(streamFactory: StreamFactory, paths: Sequence): Sequence + fun discover(projectStreamFactory: ProjectStreamFactory, paths: Sequence): Sequence } \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/StreamFactory.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/StreamFactory.kt deleted file mode 100644 index 0aecc08..0000000 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/StreamFactory.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.jetbrains.dotnet.discovery - -import java.io.InputStream - -interface StreamFactory { - fun tryCreate(path: String): InputStream? -} \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Target.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/Target.kt deleted file mode 100644 index 629e78c..0000000 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Target.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.jetbrains.dotnet.discovery - -data class Target(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Configuration.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Configuration.kt new file mode 100644 index 0000000..5812f5d --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Configuration.kt @@ -0,0 +1,3 @@ +package org.jetbrains.dotnet.discovery.data + +data class Configuration(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Framework.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Framework.kt new file mode 100644 index 0000000..8327efa --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Framework.kt @@ -0,0 +1,3 @@ +package org.jetbrains.dotnet.discovery.data + +data class Framework(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Project.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Project.kt similarity index 79% rename from src/main/kotlin/org/jetbrains/dotnet/discovery/Project.kt rename to src/main/kotlin/org/jetbrains/dotnet/discovery/data/Project.kt index ddababb..f13e632 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Project.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Project.kt @@ -1,4 +1,4 @@ -package org.jetbrains.dotnet.discovery +package org.jetbrains.dotnet.discovery.data data class Project( val project: String, @@ -7,5 +7,6 @@ data class Project( var runtimes: List = emptyList(), val references: List = emptyList(), val targets: List = emptyList(), + val sources: List = emptyList(), val generatePackageOnBuild: Boolean = false ) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Reference.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Reference.kt new file mode 100644 index 0000000..5c4cd1a --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Reference.kt @@ -0,0 +1,13 @@ +package org.jetbrains.dotnet.discovery.data + +data class Reference( + val id: String, + val version: String, + val pathToFile: String, + val dependencies: List = emptyList(), + val isRoot: Boolean = true) { + + companion object { + const val DEFAULT_VERSION = "*" + } +} \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Runtime.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Runtime.kt new file mode 100644 index 0000000..bcdbef8 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Runtime.kt @@ -0,0 +1,3 @@ +package org.jetbrains.dotnet.discovery.data + +data class Runtime(val name: String) \ No newline at end of file diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/Solution.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Solution.kt similarity index 74% rename from src/main/kotlin/org/jetbrains/dotnet/discovery/Solution.kt rename to src/main/kotlin/org/jetbrains/dotnet/discovery/data/Solution.kt index d2d19d8..fcfdf03 100644 --- a/src/main/kotlin/org/jetbrains/dotnet/discovery/Solution.kt +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Solution.kt @@ -1,4 +1,4 @@ -package org.jetbrains.dotnet.discovery +package org.jetbrains.dotnet.discovery.data data class Solution(val projects: List, val solution: String = "") { val isSimple: Boolean = solution.isBlank() diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Source.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Source.kt new file mode 100644 index 0000000..0401b76 --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Source.kt @@ -0,0 +1,3 @@ +package org.jetbrains.dotnet.discovery.data + +data class Source(val id: String?, val url: String, val pathToFile: String) diff --git a/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Target.kt b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Target.kt new file mode 100644 index 0000000..3804aea --- /dev/null +++ b/src/main/kotlin/org/jetbrains/dotnet/discovery/data/Target.kt @@ -0,0 +1,3 @@ +package org.jetbrains.dotnet.discovery.data + +data class Target(val name: String) \ No newline at end of file diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/JsonAssetsProjectDeserializerTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/JsonAssetsProjectDeserializerTest.kt new file mode 100644 index 0000000..c10a4be --- /dev/null +++ b/src/test/kotlin/org/jetbrains/dotnet/test/JsonAssetsProjectDeserializerTest.kt @@ -0,0 +1,95 @@ +package org.jetbrains.dotnet.test + +import org.jetbrains.dotnet.common.XmlDocumentServiceImpl +import org.jetbrains.dotnet.discovery.JsonAssetsProjectDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDiscoverer +import org.jetbrains.dotnet.discovery.ReaderFactoryImpl +import org.jetbrains.dotnet.discovery.data.Framework +import org.jetbrains.dotnet.discovery.data.Reference +import org.jetbrains.dotnet.discovery.data.Source +import org.jetbrains.dotnet.discovery.data.Target +import org.testng.Assert.assertEquals +import org.testng.Assert.assertTrue +import org.testng.annotations.DataProvider +import org.testng.annotations.Test +import java.nio.file.Paths + +class JsonAssetsProjectDeserializerTest { + + @Test + fun shouldDeserialize() { + // Given + val target = "/project.assets.json" + val config = "/nuget.config" + val path = Paths.get("./project.assets.json") + val projectPath = "/Users/username/RiderProjects/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj" + val streamFactory = ProjectStreamFactoryStub() + .add(path, this::class.java.getResourceAsStream(target)) + .add(Paths.get("/Users/username/.config/NuGet/NuGet.Config"), this::class.java.getResourceAsStream(config)) + + val deserializer = + JsonAssetsProjectDeserializer(ReaderFactoryImpl(), NuGetConfigDiscoverer(NuGetConfigDeserializer(XmlDocumentServiceImpl()))) + + // When + val actualSolution = deserializer.deserialize(path, streamFactory) + + // Then + assertEquals(actualSolution.projects.size, 1) + val project = actualSolution.projects[0] + assertTrue(project.project.endsWith("ConsoleApp1.csproj")) + assertEquals(project.frameworks, listOf(Framework("netcoreapp2.2"))) + assertEquals(project.targets, listOf(Target(".NETCoreApp,Version=v2.2"))) + assertTrue(project.references.toSet().containsAll( listOf( + Reference( + "AutoMapper", "8.1.1", projectPath, listOf( + Reference("Microsoft.CSharp", "4.5.0", projectPath), + Reference("System.Reflection.Emit", "4.3.0", projectPath) + ), true + ), + Reference("NuGet.Versioning", "5.1.0", projectPath, emptyList(), false) + ))) + + val configPath = "/Users/username/.config/NuGet/NuGet.Config" + assertEquals(project.sources, + listOf( + Source("nuget.org", "https://api.nuget.org/v3/index.json", configPath), + Source("Contoso", "https://contoso.com/packages/", configPath), + Source("Test Source", "c:\\packages",configPath) + ) + ) + } + + @DataProvider + fun testAcceptData(): Array> { + return arrayOf( + arrayOf("project.assets.json", true), + arrayOf("abc\\project.assets.json", true), + arrayOf("abc//project.assets.json", true), + arrayOf("abc/ProJect.asSets.Json", true), + arrayOf("aaaaproject.assets.json", false), + arrayOf("project.assets.jsonaaaa", false), + arrayOf("abc\\project.assets.jsoss", false), + arrayOf("project.assets.json10aaa", false), + arrayOf("10project.assets.json", false), + arrayOf("10rer323project.assets.json", false), + arrayOf(".json", false), + arrayOf("json", false), + arrayOf("", false) + ) + } + + @Test(dataProvider = "testAcceptData") + fun shouldAccept(stringPath: String, expectedAccepted: Boolean) { + // Given + val deserializer = + JsonAssetsProjectDeserializer(ReaderFactoryImpl()) + + // When + val path = Paths.get(stringPath) + val actualAccepted = deserializer.accept(path) + + // Then + assertEquals(actualAccepted, expectedAccepted) + } +} \ No newline at end of file diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/JsonProjectDeserializerTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/JsonProjectDeserializerTest.kt index 051c852..5cdbeb9 100644 --- a/src/test/kotlin/org/jetbrains/dotnet/test/JsonProjectDeserializerTest.kt +++ b/src/test/kotlin/org/jetbrains/dotnet/test/JsonProjectDeserializerTest.kt @@ -1,14 +1,28 @@ package org.jetbrains.dotnet.test -import org.jetbrains.dotnet.discovery.* +import org.jetbrains.dotnet.common.XmlDocumentServiceImpl +import org.jetbrains.dotnet.discovery.JsonProjectDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDiscoverer +import org.jetbrains.dotnet.discovery.ReaderFactoryImpl +import org.jetbrains.dotnet.discovery.data.* import org.testng.Assert import org.testng.annotations.DataProvider import org.testng.annotations.Test +import java.nio.file.Paths class JsonProjectDeserializerTest { @DataProvider fun testDeserializeData(): Array> { + val referencies = listOf("Microsoft.Bcl.Immutable" to "1.1.18-beta-*", + "Microsoft.AspNet.ConfigurationModel" to "0.1-alpha-*", + "Microsoft.AspNet.DependencyInjection" to "0.1-alpha-*", + "Microsoft.AspNet.Logging" to "0.1-alpha-*", + "System.Data.Common" to "0.1-alpha-*" + ).map { Reference(it.first, it.second, "projectPath") } + val configPath = "nuget.config" + return arrayOf( arrayOf( "/project.json", @@ -22,7 +36,12 @@ class JsonProjectDeserializerTest { Framework("dnxcore50") ), emptyList(), - emptyList() + referencies, + sources = listOf( + Source("nuget.org", "https://api.nuget.org/v3/index.json", configPath), + Source("Contoso", "https://contoso.com/packages/", configPath), + Source("Test Source", "c:\\packages", configPath) + ) ) ) ) @@ -33,10 +52,14 @@ class JsonProjectDeserializerTest { @Test(dataProvider = "testDeserializeData") fun shouldDeserialize(target: String, expectedSolution: Solution) { // Given - val path = "projectPath" - val streamFactory = StreamFactoryStub().add(path, this::class.java.getResourceAsStream(target)) + val path = Paths.get("projectPath") + val config = "/nuget.config" + val streamFactory = ProjectStreamFactoryStub() + .add(path, this::class.java.getResourceAsStream(target)) + .add(Paths.get("nuget.config"), this::class.java.getResourceAsStream(config)) + val deserializer = - JsonProjectDeserializer(ReaderFactoryImpl()) + JsonProjectDeserializer(ReaderFactoryImpl(), NuGetConfigDiscoverer(NuGetConfigDeserializer(XmlDocumentServiceImpl()))) // When val actualSolution = deserializer.deserialize(path, streamFactory) @@ -60,18 +83,18 @@ class JsonProjectDeserializerTest { arrayOf("10rer323project.json", false), arrayOf(".json", false), arrayOf("json", false), - arrayOf(" ", false), arrayOf("", false) ) } @Test(dataProvider = "testAcceptData") - fun shouldAccept(path: String, expectedAccepted: Boolean) { + fun shouldAccept(stringPath: String, expectedAccepted: Boolean) { // Given val deserializer = JsonProjectDeserializer(ReaderFactoryImpl()) // When + val path = Paths.get(stringPath) val actualAccepted = deserializer.accept(path) // Then diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildProjectDeserializerTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildProjectDeserializerTest.kt index 7959daf..57aa35d 100644 --- a/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildProjectDeserializerTest.kt +++ b/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildProjectDeserializerTest.kt @@ -1,18 +1,28 @@ package org.jetbrains.dotnet.test import org.jetbrains.dotnet.common.XmlDocumentServiceImpl -import org.jetbrains.dotnet.discovery.* -import org.jetbrains.dotnet.discovery.Target +import org.jetbrains.dotnet.discovery.MSBuildProjectDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDiscoverer +import org.jetbrains.dotnet.discovery.data.* +import org.jetbrains.dotnet.discovery.data.Target import org.testng.Assert import org.testng.annotations.DataProvider import org.testng.annotations.Test +import java.nio.file.Paths +import java.util.* class MSBuildProjectDeserializerTest { @DataProvider fun testDeserializeData(): Array> { + val path = "projectPath" + val packagesConfigPath = "packages.config" + val configPath = "nuget.config" + return arrayOf( arrayOf( "/project-runtime.csproj", + Optional.empty(), Solution( listOf( Project( @@ -24,13 +34,17 @@ class MSBuildProjectDeserializerTest { Runtime("win-7x86"), Runtime("ubuntu.16.10-x64") ), - emptyList() + listOf( + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10", packagesConfigPath) + ) ) ) ) ), arrayOf( "/GeneratePackageOnBuild.csproj", + Optional.empty(), Solution( listOf( Project( @@ -38,6 +52,10 @@ class MSBuildProjectDeserializerTest { emptyList(), listOf(Framework("netstandard2.0")), emptyList(), + listOf( + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10", packagesConfigPath) + ), emptyList(), emptyList(), true @@ -47,6 +65,7 @@ class MSBuildProjectDeserializerTest { ), arrayOf( "/project14.csproj", + Optional.of("/nuget.config"), Solution( listOf( Project( @@ -58,10 +77,17 @@ class MSBuildProjectDeserializerTest { emptyList(), emptyList(), listOf( - Reference("nunit.engine.api"), - Reference("System"), - Reference("System.Data"), - Reference("System.Xml") + Reference("nunit.engine.api", "3.0.0.0", path), + Reference("System", "*", path), + Reference("System.Data", "*", path), + Reference("System.Xml", "*", path), + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10", packagesConfigPath) + ), + sources = listOf( + Source("nuget.org", "https://api.nuget.org/v3/index.json", configPath), + Source("Contoso", "https://contoso.com/packages/", configPath), + Source("Test Source", "c:\\packages", configPath) ) ) ) @@ -69,6 +95,7 @@ class MSBuildProjectDeserializerTest { ), arrayOf( "/project.csproj", + Optional.empty(), Solution( listOf( Project( @@ -77,8 +104,18 @@ class MSBuildProjectDeserializerTest { listOf(Framework("netcoreapp1.0")), emptyList(), listOf( - Reference("Microsoft.NET.Sdk"), - Reference("Microsoft.NET.Test.Sdk") + Reference( + "Microsoft.NET.Sdk", + "1.0.0-alpha-20161104-2", + path + ), + Reference( + "Microsoft.NET.Test.Sdk", + "15.0.0-preview-20161024-02", + path + ), + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10", packagesConfigPath) ) ) ) @@ -86,6 +123,7 @@ class MSBuildProjectDeserializerTest { ), arrayOf( "/build.proj", + Optional.empty(), Solution( listOf( Project( @@ -93,7 +131,10 @@ class MSBuildProjectDeserializerTest { listOf(Configuration("Release")), emptyList(), emptyList(), - emptyList(), + listOf( + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10", packagesConfigPath) + ), listOf( Target("GetNuGet"), Target("Build"), @@ -105,6 +146,7 @@ class MSBuildProjectDeserializerTest { ), arrayOf( "/project-simplified.csproj", + Optional.empty(), Solution( listOf( Project( @@ -113,8 +155,18 @@ class MSBuildProjectDeserializerTest { listOf(Framework("netcoreapp1.0")), emptyList(), listOf( - Reference("Microsoft.NET.Sdk"), - Reference("Microsoft.NET.Test.Sdk") + Reference( + "Microsoft.NET.Sdk", + "1.0.0-alpha-20161104-2", + path + ), + Reference( + "Microsoft.NET.Test.Sdk", + "15.0.0-preview-20161024-02", + path + ), + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10",packagesConfigPath) ) ) ) @@ -122,6 +174,7 @@ class MSBuildProjectDeserializerTest { ), arrayOf( "/project-frameworks.csproj", + Optional.empty(), Solution( listOf( Project( @@ -132,7 +185,11 @@ class MSBuildProjectDeserializerTest { Framework("netstandard1.3") ), emptyList(), - listOf(Reference("Newtonsoft.Json")) + listOf( + Reference("Newtonsoft.Json", "10.0.3", path), + Reference("jQuery", "3.1.1", packagesConfigPath), + Reference("NLog", "4.3.10", packagesConfigPath) + ) ) ) ) @@ -141,12 +198,19 @@ class MSBuildProjectDeserializerTest { } @Test(dataProvider = "testDeserializeData") - fun shouldDeserialize(target: String, expectedSolution: Solution) { + fun shouldDeserialize(target: String, config: Optional, expectedSolution: Solution) { // Given - val path = "projectPath" - val streamFactory = StreamFactoryStub().add(path, this::class.java.getResourceAsStream(target)) + val path = Paths.get("projectPath") + val packagesConfigPath = Paths.get("packages.config") + val streamFactory = + ProjectStreamFactoryStub() + .add(path, this::class.java.getResourceAsStream(target)) + .add(packagesConfigPath, this::class.java.getResourceAsStream("/packages.config")) + + config.ifPresent { streamFactory.add(Paths.get("nuget.config"), this::class.java.getResourceAsStream(it)) } + val deserializer = - MSBuildProjectDeserializer(XmlDocumentServiceImpl()) + MSBuildProjectDeserializer(XmlDocumentServiceImpl(), NuGetConfigDiscoverer(NuGetConfigDeserializer(XmlDocumentServiceImpl()))) // When val actualSolution = deserializer.deserialize(path, streamFactory) @@ -173,22 +237,22 @@ class MSBuildProjectDeserializerTest { arrayOf("abc.", false), arrayOf("abc", false), arrayOf("abc.projddd", false), - arrayOf(".proj", false), + arrayOf(".proj", true), arrayOf("proj", false), arrayOf("csproj", false), arrayOf("VBproj", false), - arrayOf(" ", false), arrayOf("", false) ) } @Test(dataProvider = "testAcceptData") - fun shouldAccept(path: String, expectedAccepted: Boolean) { + fun shouldAccept(stringPath: String, expectedAccepted: Boolean) { // Given val deserializer = MSBuildProjectDeserializer(XmlDocumentServiceImpl()) // When + val path = Paths.get(stringPath) val actualAccepted = deserializer.accept(path) // Then diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildSolutionDeserializerTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildSolutionDeserializerTest.kt index def3177..2c058db 100644 --- a/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildSolutionDeserializerTest.kt +++ b/src/test/kotlin/org/jetbrains/dotnet/test/MSBuildSolutionDeserializerTest.kt @@ -1,19 +1,24 @@ package org.jetbrains.dotnet.test -import org.jetbrains.dotnet.discovery.* +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.discovery.MSBuildSolutionDeserializer +import org.jetbrains.dotnet.discovery.ReaderFactoryImpl +import org.jetbrains.dotnet.discovery.SolutionDeserializer +import org.jetbrains.dotnet.discovery.data.* import org.jmock.Expectations import org.jmock.Mockery import org.testng.Assert import org.testng.annotations.DataProvider import org.testng.annotations.Test +import java.nio.file.Paths class MSBuildSolutionDeserializerTest { @Test fun shouldDeserialize() { // Given val target = "/solution.sln" - val path = "projectPath/aaa.sln" - val streamFactory = StreamFactoryStub().add(path, this::class.java.getResourceAsStream(target)) + val path = Paths.get("projectPath/aaa.sln") + val streamFactory = ProjectStreamFactoryStub().add(path, this::class.java.getResourceAsStream(target)) val ctx = Mockery() val msBuildProjectDeserializer = ctx.mock(SolutionDeserializer::class.java) @@ -34,7 +39,7 @@ class MSBuildSolutionDeserializerTest { Runtime("win-7x86"), Runtime("ubuntu.16.10-x64") ), - listOf(Reference("Microsoft.NET.Sdk")) + listOf(Reference("Microsoft.NET.Sdk", "*", "projectPath1")) ) ) ) @@ -49,36 +54,39 @@ class MSBuildSolutionDeserializerTest { Runtime("win-7x86") ), listOf( - Reference("Microsoft.NET.sdk"), - Reference("Microsoft.NET.test.sdk") + Reference("Microsoft.NET.sdk", "*", "projectPath2"), + Reference("Microsoft.NET.test.sdk", "*", "projectPath2") ) ) ) ) val expectedSolution = - Solution(solution1.projects.plus(solution2.projects), path) + Solution( + solution1.projects.plus(solution2.projects), + path.toNormalizedUnixString() + ) ctx.checking(object : Expectations() { init { - oneOf(msBuildProjectDeserializer).accept("projectPath/proj1.csproj") + oneOf(msBuildProjectDeserializer).accept(Paths.get("projectPath/proj1.csproj")) will(returnValue(true)) oneOf(msBuildProjectDeserializer).deserialize( - "projectPath/proj1.csproj", + Paths.get("projectPath/proj1.csproj"), streamFactory ) will(returnValue(solution1)) - oneOf(msBuildProjectDeserializer).accept("projectPath/dir2/proj2.csproj") + oneOf(msBuildProjectDeserializer).accept(Paths.get("projectPath/dir2/proj2.csproj")) will(returnValue(true)) oneOf(msBuildProjectDeserializer).deserialize( - "projectPath/dir2/proj2.csproj", + Paths.get("projectPath/dir2/proj2.csproj"), streamFactory ) will(returnValue(solution2)) - oneOf(msBuildProjectDeserializer).accept("projectPath/Solution Items") + oneOf(msBuildProjectDeserializer).accept(Paths.get("projectPath/Solution Items")) will(returnValue(false)) } }) @@ -106,9 +114,8 @@ class MSBuildSolutionDeserializerTest { arrayOf("abc.", false), arrayOf("abc", false), arrayOf("abc.proj", false), - arrayOf(".sln", false), + arrayOf(".sln", true), arrayOf("sln", false), - arrayOf(" ", false), arrayOf("", false) ) } @@ -124,7 +131,7 @@ class MSBuildSolutionDeserializerTest { ) // When - val actualAccepted = deserializer.accept(path) + val actualAccepted = deserializer.accept(Paths.get(path)) // Then Assert.assertEquals(actualAccepted, expectedAccepted) @@ -153,9 +160,9 @@ class MSBuildSolutionDeserializerTest { ) // When - val actualPath = deserializer.normalizePath(basePath, path) + val actualPath = deserializer.getProjectPath(Paths.get(basePath), Paths.get(path)) // Then - Assert.assertEquals(actualPath, expectedPath) + Assert.assertEquals(actualPath.toNormalizedUnixString(), expectedPath) } } \ No newline at end of file diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/NuGetConfigDiscovererTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/NuGetConfigDiscovererTest.kt new file mode 100644 index 0000000..61b566f --- /dev/null +++ b/src/test/kotlin/org/jetbrains/dotnet/test/NuGetConfigDiscovererTest.kt @@ -0,0 +1,54 @@ +package org.jetbrains.dotnet.test + +import org.jetbrains.dotnet.common.XmlDocumentServiceImpl +import org.jetbrains.dotnet.discovery.NuGetConfigDeserializer +import org.jetbrains.dotnet.discovery.NuGetConfigDiscoverer +import org.jetbrains.dotnet.discovery.data.Source +import org.testng.Assert.assertEquals +import org.testng.annotations.DataProvider +import org.testng.annotations.Test +import java.nio.file.Paths + +class NuGetConfigDiscovererTest { + + @DataProvider + fun testDeserializeData(): Array> = + arrayOf( + arrayOf( + "/a/b/c/d", + listOf( + "/configs/config1" to "/a/b/c/nuget.config", + "/configs/config2" to "/a/b/nuget.config", + "/configs/config3" to "/nuget.config" + ), + setOf( + Source("nuget.org", "https://api.nuget.org/v3/index.json", "/a/b/c/nuget.config"), + Source("Contoso", "https://contoso.com/packages/", "/a/b/nuget.config"), + Source("MyRepo - ES", "https://MyRepo/ES/nuget", "/nuget.config"), + Source("Test Source", "c:\\packages", "/nuget.config") + ) + ) + ) + + + @Test(dataProvider = "testDeserializeData") + fun testDiscover(path: String, configs: List>, expectedSources: Set) { + val streamFactory = ProjectStreamFactoryStub() + configs.forEach { + streamFactory.add(Paths.get(it.second), this::class.java.getResourceAsStream(it.first)) + } + val discoverer = + NuGetConfigDiscoverer( + NuGetConfigDeserializer( + XmlDocumentServiceImpl() + ) + ) + + + // When + val actualSolution = discoverer.discover(Paths.get(path), streamFactory).toSet() + + // Then + assertEquals(actualSolution, expectedSources) + } +} \ No newline at end of file diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/ProjectStreamFactoryStub.kt b/src/test/kotlin/org/jetbrains/dotnet/test/ProjectStreamFactoryStub.kt new file mode 100644 index 0000000..ac25811 --- /dev/null +++ b/src/test/kotlin/org/jetbrains/dotnet/test/ProjectStreamFactoryStub.kt @@ -0,0 +1,20 @@ +package org.jetbrains.dotnet.test + +import org.jetbrains.dotnet.common.toNormalizedUnixString +import org.jetbrains.dotnet.discovery.ProjectStreamFactory +import java.io.InputStream +import java.nio.file.Path + +class ProjectStreamFactoryStub : ProjectStreamFactory { + + private val _streams: MutableMap = mutableMapOf() + + fun add(path: Path, inputStream: InputStream): ProjectStreamFactoryStub { + _streams[path.normalize().toNormalizedUnixString()] = inputStream + return this + } + + override fun tryCreate(path: Path): InputStream? { + return _streams[path.normalize().toNormalizedUnixString()] + } +} \ No newline at end of file diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/ProjectTypeSelectorTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/ProjectTypeSelectorTest.kt index 8e46860..9015214 100644 --- a/src/test/kotlin/org/jetbrains/dotnet/test/ProjectTypeSelectorTest.kt +++ b/src/test/kotlin/org/jetbrains/dotnet/test/ProjectTypeSelectorTest.kt @@ -1,9 +1,9 @@ package org.jetbrains.dotnet.test -import org.jetbrains.dotnet.discovery.Project import org.jetbrains.dotnet.discovery.ProjectType import org.jetbrains.dotnet.discovery.ProjectTypeSelectorImpl -import org.jetbrains.dotnet.discovery.Reference +import org.jetbrains.dotnet.discovery.data.Project +import org.jetbrains.dotnet.discovery.data.Reference import org.testng.Assert import org.testng.annotations.DataProvider import org.testng.annotations.Test @@ -13,32 +13,32 @@ class ProjectTypeSelectorTest { fun testData(): Array> { return arrayOf( // Test - arrayOf(create(false, "Microsoft.NET.Test.Sdk"), setOf(ProjectType.Test)), - arrayOf(create(false, "microsofT.net.test.SDK"), setOf(ProjectType.Test)), - arrayOf(create(false, "Microsoft.NET.Test.Sdk", "abc"), setOf(ProjectType.Test)), - arrayOf(create(false, "abc.Microsoft.NET.Test.Sdk"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "abcMicrosoft.NET.Test.Sdk"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "Microsoft.NET.Test.Sdk.abc"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "Microsoft.NET.Test.Sdkabc"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "Microsoft.NET.Test.Sdkþ"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "abc.Microsoft.NET.Test.Sdk.abc"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "abcMicrosoft.NET.Test.Sdkabc"), setOf(ProjectType.Unknown)), - arrayOf(create(false, ".Microsoft.NET.Test."), setOf(ProjectType.Unknown)), + arrayOf(create(false, "Microsoft.NET.Test.Sdk" to "1.0"), setOf(ProjectType.Test)), + arrayOf(create(false, "microsofT.net.test.SDK" to "10.1.1"), setOf(ProjectType.Test)), + arrayOf(create(false, "Microsoft.NET.Test.Sdk" to "1.0", "abc" to "*"), setOf(ProjectType.Test)), + arrayOf(create(false, "abc.Microsoft.NET.Test.Sdk" to "*"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "abcMicrosoft.NET.Test.Sdk" to "1"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "Microsoft.NET.Test.Sdk.abc" to "123"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "Microsoft.NET.Test.Sdkabc" to "20"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "Microsoft.NET.Test.Sdkþ" to "4.0.4"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "abc.Microsoft.NET.Test.Sdk.abc" to "lol"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "abcMicrosoft.NET.Test.Sdkabc" to "kek"), setOf(ProjectType.Unknown)), + arrayOf(create(false, ".Microsoft.NET.Test." to "*"), setOf(ProjectType.Unknown)), // Publish - arrayOf(create(false, "Microsoft.aspnet.Abc"), setOf(ProjectType.Publish)), - arrayOf(create(false, "Microsoft.ASPNET.Abc"), setOf(ProjectType.Publish)), - arrayOf(create(false, "Microsoft.aspnet.Abc", "abc"), setOf(ProjectType.Publish)), - arrayOf(create(false, "Microsoft.aspnet."), setOf(ProjectType.Publish)), - arrayOf(create(true, "Microsoft.aspnet.Abc"), setOf(ProjectType.Publish)), + arrayOf(create(false, "Microsoft.aspnet.Abc" to "abc"), setOf(ProjectType.Publish)), + arrayOf(create(false, "Microsoft.ASPNET.Abc" to "aaa"), setOf(ProjectType.Publish)), + arrayOf(create(false, "Microsoft.aspnet.Abc" to "*", "abc" to "*"), setOf(ProjectType.Publish)), + arrayOf(create(false, "Microsoft.aspnet." to "3.2.1"), setOf(ProjectType.Publish)), + arrayOf(create(true, "Microsoft.aspnet.Abc" to "1010101"), setOf(ProjectType.Publish)), arrayOf(create(true), setOf(ProjectType.Publish)), - arrayOf(create(false, "Microsoft.aspnet."), setOf(ProjectType.Publish)), - arrayOf(create(false, ".Microsoft.aspnet.abc"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "abc.Microsoft.aspnet.abc"), setOf(ProjectType.Unknown)), - arrayOf(create(false, "abcMicrosoft.aspnetabc"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "Microsoft.aspnet." to "*"), setOf(ProjectType.Publish)), + arrayOf(create(false, ".Microsoft.aspnet.abc" to "*"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "abc.Microsoft.aspnet.abc" to "0.1"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "abcMicrosoft.aspnetabc" to "10"), setOf(ProjectType.Unknown)), // Mixed - arrayOf(create(true, "Microsoft.NET.Test.Sdk", "abc"), setOf(ProjectType.Publish, ProjectType.Test)), + arrayOf(create(true, "Microsoft.NET.Test.Sdk" to "16.1.4", "abc" to "6.1"), setOf(ProjectType.Publish, ProjectType.Test)), // Empty - arrayOf(create(false, "abc"), setOf(ProjectType.Unknown)), + arrayOf(create(false, "abc" to "*"), setOf(ProjectType.Unknown)), arrayOf(create(), setOf(ProjectType.Unknown)) ) } @@ -55,13 +55,14 @@ class ProjectTypeSelectorTest { Assert.assertEquals(actualProjectTypes, expectedProjectTypes) } - private fun create(generatePackageOnBuild: Boolean = false, vararg references: String): Project = + private fun create(generatePackageOnBuild: Boolean = false, vararg references: Pair): Project = Project( "abc.proj", emptyList(), emptyList(), emptyList(), - references.map { Reference(it) }, + references.map { Reference(it.first, it.second, "") }, + emptyList(), emptyList(), generatePackageOnBuild ) diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/SolutionDiscoverTest.kt b/src/test/kotlin/org/jetbrains/dotnet/test/SolutionDiscoverTest.kt index d3874ce..1fd3678 100644 --- a/src/test/kotlin/org/jetbrains/dotnet/test/SolutionDiscoverTest.kt +++ b/src/test/kotlin/org/jetbrains/dotnet/test/SolutionDiscoverTest.kt @@ -1,19 +1,22 @@ package org.jetbrains.dotnet.test -import org.jetbrains.dotnet.discovery.* +import org.jetbrains.dotnet.discovery.SolutionDeserializer +import org.jetbrains.dotnet.discovery.SolutionDiscoverImpl +import org.jetbrains.dotnet.discovery.data.* import org.jmock.Expectations import org.jmock.Mockery import org.testng.Assert import org.testng.annotations.Test +import java.nio.file.Paths class SolutionDiscoverTest { @Test fun shouldDiscover() { // Given - val path1 = "projectPath1/aaa.sln" - val path2 = "projectPath2/proj.sln" + val path1 = Paths.get("projectPath1/aaa.sln") + val path2 = Paths.get("projectPath2/proj.sln") - val streamFactory = StreamFactoryStub() + val streamFactory = ProjectStreamFactoryStub() val ctx = Mockery() val deserializer1 = ctx.mock(SolutionDeserializer::class.java, "deserializer1") val deserializer2 = ctx.mock(SolutionDeserializer::class.java, "deserializer2") @@ -34,7 +37,7 @@ class SolutionDiscoverTest { Runtime("win-7x86"), Runtime("ubuntu.16.10-x64") ), - listOf(Reference("Microsoft.NET.Sdk")) + listOf(Reference("Microsoft.NET.Sdk", "", "projectPath1")) ) ) ) @@ -49,8 +52,8 @@ class SolutionDiscoverTest { Runtime("win-7x86") ), listOf( - Reference("Microsoft.NET.sdk"), - Reference("Microsoft.NET.test.sdk") + Reference("Microsoft.NET.sdk", "", "projectPath2"), + Reference("Microsoft.NET.test.sdk", "", "projectPath2") ) ) ) diff --git a/src/test/kotlin/org/jetbrains/dotnet/test/StreamFactoryStub.kt b/src/test/kotlin/org/jetbrains/dotnet/test/StreamFactoryStub.kt deleted file mode 100644 index 43b9fe0..0000000 --- a/src/test/kotlin/org/jetbrains/dotnet/test/StreamFactoryStub.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.jetbrains.dotnet.test - -import org.jetbrains.dotnet.discovery.StreamFactory -import java.io.InputStream - -class StreamFactoryStub : StreamFactory { - private val _streams: MutableMap = mutableMapOf() - - fun add(path: String, inputStream: InputStream): StreamFactoryStub { - _streams[path] = inputStream - return this - } - - override fun tryCreate(path: String): InputStream? { - return _streams[path] - } -} \ No newline at end of file diff --git a/src/test/resources/configs/config1 b/src/test/resources/configs/config1 new file mode 100644 index 0000000..3f73321 --- /dev/null +++ b/src/test/resources/configs/config1 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/resources/configs/config2 b/src/test/resources/configs/config2 new file mode 100644 index 0000000..800ee49 --- /dev/null +++ b/src/test/resources/configs/config2 @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/test/resources/configs/config3 b/src/test/resources/configs/config3 new file mode 100644 index 0000000..2a3cbf9 --- /dev/null +++ b/src/test/resources/configs/config3 @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + microsoft;aspnet;nuget + + + \ No newline at end of file diff --git a/src/test/resources/nuget.config b/src/test/resources/nuget.config new file mode 100644 index 0000000..5a34148 --- /dev/null +++ b/src/test/resources/nuget.config @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + microsoft;aspnet;nuget + + + \ No newline at end of file diff --git a/src/test/resources/packages.config b/src/test/resources/packages.config new file mode 100644 index 0000000..9332e7c --- /dev/null +++ b/src/test/resources/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/resources/project.assets.json b/src/test/resources/project.assets.json new file mode 100644 index 0000000..2d7fb64 --- /dev/null +++ b/src/test/resources/project.assets.json @@ -0,0 +1,3994 @@ +{ + "version": 3, + "targets": { + ".NETCoreApp,Version=v2.2": { + "AutoMapper/8.1.1": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.5.0", + "System.Reflection.Emit": "4.3.0" + }, + "compile": { + "lib/netstandard2.0/AutoMapper.dll": {} + }, + "runtime": { + "lib/netstandard2.0/AutoMapper.dll": {} + } + }, + "Microsoft.CSharp/4.5.0": { + "type": "package", + "compile": { + "ref/netcoreapp2.0/_._": {} + }, + "runtime": { + "lib/netcoreapp2.0/_._": {} + } + }, + "Microsoft.NETCore.App/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.DotNetHostPolicy": "2.2.0", + "Microsoft.NETCore.Platforms": "2.2.0", + "Microsoft.NETCore.Targets": "2.0.0", + "NETStandard.Library": "2.0.3" + }, + "compile": { + "ref/netcoreapp2.2/Microsoft.CSharp.dll": {}, + "ref/netcoreapp2.2/Microsoft.VisualBasic.dll": {}, + "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll": {}, + "ref/netcoreapp2.2/System.AppContext.dll": {}, + "ref/netcoreapp2.2/System.Buffers.dll": {}, + "ref/netcoreapp2.2/System.Collections.Concurrent.dll": {}, + "ref/netcoreapp2.2/System.Collections.Immutable.dll": {}, + "ref/netcoreapp2.2/System.Collections.NonGeneric.dll": {}, + "ref/netcoreapp2.2/System.Collections.Specialized.dll": {}, + "ref/netcoreapp2.2/System.Collections.dll": {}, + "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll": {}, + "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll": {}, + "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll": {}, + "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll": {}, + "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll": {}, + "ref/netcoreapp2.2/System.ComponentModel.dll": {}, + "ref/netcoreapp2.2/System.Configuration.dll": {}, + "ref/netcoreapp2.2/System.Console.dll": {}, + "ref/netcoreapp2.2/System.Core.dll": {}, + "ref/netcoreapp2.2/System.Data.Common.dll": {}, + "ref/netcoreapp2.2/System.Data.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.Debug.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.Process.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.Tools.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll": {}, + "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll": {}, + "ref/netcoreapp2.2/System.Drawing.Primitives.dll": {}, + "ref/netcoreapp2.2/System.Drawing.dll": {}, + "ref/netcoreapp2.2/System.Dynamic.Runtime.dll": {}, + "ref/netcoreapp2.2/System.Globalization.Calendars.dll": {}, + "ref/netcoreapp2.2/System.Globalization.Extensions.dll": {}, + "ref/netcoreapp2.2/System.Globalization.dll": {}, + "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll": {}, + "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll": {}, + "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll": {}, + "ref/netcoreapp2.2/System.IO.Compression.dll": {}, + "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll": {}, + "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll": {}, + "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll": {}, + "ref/netcoreapp2.2/System.IO.FileSystem.dll": {}, + "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll": {}, + "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll": {}, + "ref/netcoreapp2.2/System.IO.Pipes.dll": {}, + "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll": {}, + "ref/netcoreapp2.2/System.IO.dll": {}, + "ref/netcoreapp2.2/System.Linq.Expressions.dll": {}, + "ref/netcoreapp2.2/System.Linq.Parallel.dll": {}, + "ref/netcoreapp2.2/System.Linq.Queryable.dll": {}, + "ref/netcoreapp2.2/System.Linq.dll": {}, + "ref/netcoreapp2.2/System.Memory.dll": {}, + "ref/netcoreapp2.2/System.Net.Http.dll": {}, + "ref/netcoreapp2.2/System.Net.HttpListener.dll": {}, + "ref/netcoreapp2.2/System.Net.Mail.dll": {}, + "ref/netcoreapp2.2/System.Net.NameResolution.dll": {}, + "ref/netcoreapp2.2/System.Net.NetworkInformation.dll": {}, + "ref/netcoreapp2.2/System.Net.Ping.dll": {}, + "ref/netcoreapp2.2/System.Net.Primitives.dll": {}, + "ref/netcoreapp2.2/System.Net.Requests.dll": {}, + "ref/netcoreapp2.2/System.Net.Security.dll": {}, + "ref/netcoreapp2.2/System.Net.ServicePoint.dll": {}, + "ref/netcoreapp2.2/System.Net.Sockets.dll": {}, + "ref/netcoreapp2.2/System.Net.WebClient.dll": {}, + "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll": {}, + "ref/netcoreapp2.2/System.Net.WebProxy.dll": {}, + "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll": {}, + "ref/netcoreapp2.2/System.Net.WebSockets.dll": {}, + "ref/netcoreapp2.2/System.Net.dll": {}, + "ref/netcoreapp2.2/System.Numerics.Vectors.dll": {}, + "ref/netcoreapp2.2/System.Numerics.dll": {}, + "ref/netcoreapp2.2/System.ObjectModel.dll": {}, + "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll": {}, + "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll": {}, + "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll": {}, + "ref/netcoreapp2.2/System.Reflection.Emit.dll": {}, + "ref/netcoreapp2.2/System.Reflection.Extensions.dll": {}, + "ref/netcoreapp2.2/System.Reflection.Metadata.dll": {}, + "ref/netcoreapp2.2/System.Reflection.Primitives.dll": {}, + "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll": {}, + "ref/netcoreapp2.2/System.Reflection.dll": {}, + "ref/netcoreapp2.2/System.Resources.Reader.dll": {}, + "ref/netcoreapp2.2/System.Resources.ResourceManager.dll": {}, + "ref/netcoreapp2.2/System.Resources.Writer.dll": {}, + "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Extensions.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Handles.dll": {}, + "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll": {}, + "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll": {}, + "ref/netcoreapp2.2/System.Runtime.InteropServices.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Loader.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Numerics.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll": {}, + "ref/netcoreapp2.2/System.Runtime.Serialization.dll": {}, + "ref/netcoreapp2.2/System.Runtime.dll": {}, + "ref/netcoreapp2.2/System.Security.Claims.dll": {}, + "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll": {}, + "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll": {}, + "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll": {}, + "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll": {}, + "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll": {}, + "ref/netcoreapp2.2/System.Security.Principal.dll": {}, + "ref/netcoreapp2.2/System.Security.SecureString.dll": {}, + "ref/netcoreapp2.2/System.Security.dll": {}, + "ref/netcoreapp2.2/System.ServiceModel.Web.dll": {}, + "ref/netcoreapp2.2/System.ServiceProcess.dll": {}, + "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll": {}, + "ref/netcoreapp2.2/System.Text.Encoding.dll": {}, + "ref/netcoreapp2.2/System.Text.RegularExpressions.dll": {}, + "ref/netcoreapp2.2/System.Threading.Overlapped.dll": {}, + "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll": {}, + "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll": {}, + "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll": {}, + "ref/netcoreapp2.2/System.Threading.Tasks.dll": {}, + "ref/netcoreapp2.2/System.Threading.Thread.dll": {}, + "ref/netcoreapp2.2/System.Threading.ThreadPool.dll": {}, + "ref/netcoreapp2.2/System.Threading.Timer.dll": {}, + "ref/netcoreapp2.2/System.Threading.dll": {}, + "ref/netcoreapp2.2/System.Transactions.Local.dll": {}, + "ref/netcoreapp2.2/System.Transactions.dll": {}, + "ref/netcoreapp2.2/System.ValueTuple.dll": {}, + "ref/netcoreapp2.2/System.Web.HttpUtility.dll": {}, + "ref/netcoreapp2.2/System.Web.dll": {}, + "ref/netcoreapp2.2/System.Windows.dll": {}, + "ref/netcoreapp2.2/System.Xml.Linq.dll": {}, + "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll": {}, + "ref/netcoreapp2.2/System.Xml.Serialization.dll": {}, + "ref/netcoreapp2.2/System.Xml.XDocument.dll": {}, + "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll": {}, + "ref/netcoreapp2.2/System.Xml.XPath.dll": {}, + "ref/netcoreapp2.2/System.Xml.XmlDocument.dll": {}, + "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll": {}, + "ref/netcoreapp2.2/System.Xml.dll": {}, + "ref/netcoreapp2.2/System.dll": {}, + "ref/netcoreapp2.2/WindowsBase.dll": {}, + "ref/netcoreapp2.2/mscorlib.dll": {}, + "ref/netcoreapp2.2/netstandard.dll": {} + }, + "build": { + "build/netcoreapp2.2/Microsoft.NETCore.App.props": {}, + "build/netcoreapp2.2/Microsoft.NETCore.App.targets": {} + } + }, + "Microsoft.NETCore.DotNetAppHost/2.2.0": { + "type": "package" + }, + "Microsoft.NETCore.DotNetHostPolicy/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.DotNetHostResolver": "2.2.0" + } + }, + "Microsoft.NETCore.DotNetHostResolver/2.2.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.DotNetAppHost": "2.2.0" + } + }, + "Microsoft.NETCore.Platforms/2.2.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "Microsoft.NETCore.Targets/2.0.0": { + "type": "package", + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "Microsoft.Win32.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + } + }, + "Microsoft.Win32.Registry/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "NETStandard.Library/2.0.3": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + }, + "build": { + "build/netstandard2.0/NETStandard.Library.targets": {} + } + }, + "Newtonsoft.Json/9.0.1": { + "type": "package", + "dependencies": { + "Microsoft.CSharp": "4.0.1", + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Dynamic.Runtime": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Linq": "4.1.0", + "System.Linq.Expressions": "4.1.0", + "System.ObjectModel": "4.0.12", + "System.Reflection": "4.1.0", + "System.Reflection.Extensions": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11", + "System.Xml.XDocument": "4.0.11" + }, + "compile": { + "lib/netstandard1.0/Newtonsoft.Json.dll": {} + }, + "runtime": { + "lib/netstandard1.0/Newtonsoft.Json.dll": {} + } + }, + "NuGet.Common/5.1.0": { + "type": "package", + "dependencies": { + "NuGet.Frameworks": "5.1.0", + "System.Diagnostics.Process": "4.3.0", + "System.Threading.Thread": "4.3.0" + }, + "compile": { + "lib/netstandard2.0/NuGet.Common.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NuGet.Common.dll": {} + } + }, + "NuGet.Configuration/5.1.0": { + "type": "package", + "dependencies": { + "NuGet.Common": "5.1.0", + "System.Security.Cryptography.ProtectedData": "4.3.0" + }, + "compile": { + "lib/netstandard2.0/NuGet.Configuration.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NuGet.Configuration.dll": {} + } + }, + "NuGet.Frameworks/5.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/NuGet.Frameworks.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NuGet.Frameworks.dll": {} + } + }, + "NuGet.Packaging/5.1.0": { + "type": "package", + "dependencies": { + "Newtonsoft.Json": "9.0.1", + "NuGet.Configuration": "5.1.0", + "NuGet.Versioning": "5.1.0", + "System.Dynamic.Runtime": "4.3.0" + }, + "compile": { + "lib/netstandard2.0/NuGet.Packaging.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NuGet.Packaging.dll": {} + } + }, + "NuGet.Versioning/5.1.0": { + "type": "package", + "compile": { + "lib/netstandard2.0/NuGet.Versioning.dll": {} + }, + "runtime": { + "lib/netstandard2.0/NuGet.Versioning.dll": {} + } + }, + "runtime.native.System/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/_._": {} + } + }, + "System.Collections/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Collections.dll": {} + } + }, + "System.Diagnostics.Debug/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Diagnostics.Debug.dll": {} + } + }, + "System.Diagnostics.Process/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.Win32.Primitives": "4.3.0", + "Microsoft.Win32.Registry": "4.3.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Thread": "4.3.0", + "System.Threading.ThreadPool": "4.3.0", + "runtime.native.System": "4.3.0" + }, + "compile": { + "ref/netstandard1.4/System.Diagnostics.Process.dll": {} + }, + "runtimeTargets": { + "runtimes/linux/lib/netstandard1.4/System.Diagnostics.Process.dll": { + "assetType": "runtime", + "rid": "linux" + }, + "runtimes/osx/lib/netstandard1.4/System.Diagnostics.Process.dll": { + "assetType": "runtime", + "rid": "osx" + }, + "runtimes/win/lib/netstandard1.4/System.Diagnostics.Process.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Diagnostics.Tools/4.0.1": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.0.1", + "Microsoft.NETCore.Targets": "1.0.1", + "System.Runtime": "4.1.0" + }, + "compile": { + "ref/netstandard1.0/_._": {} + } + }, + "System.Dynamic.Runtime/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Dynamic.Runtime.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} + } + }, + "System.Globalization/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Globalization.dll": {} + } + }, + "System.IO/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.IO.dll": {} + } + }, + "System.IO.FileSystem/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + } + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + }, + "runtime": { + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Linq/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Linq.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.Linq.dll": {} + } + }, + "System.Linq.Expressions/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.6/System.Linq.Expressions.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.Linq.Expressions.dll": {} + } + }, + "System.ObjectModel/4.3.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.ObjectModel.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.ObjectModel.dll": {} + } + }, + "System.Reflection/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Reflection.dll": {} + } + }, + "System.Reflection.Emit/4.3.0": { + "type": "package", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.1/System.Reflection.Emit.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.dll": {} + } + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} + } + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} + } + }, + "System.Reflection.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Extensions.dll": {} + } + }, + "System.Reflection.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Reflection.Primitives.dll": {} + } + }, + "System.Reflection.TypeExtensions/4.3.0": { + "type": "package", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/_._": {} + }, + "runtime": { + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": {} + } + }, + "System.Resources.ResourceManager/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.0/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.5/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netcoreapp1.1/_._": {} + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "dependencies": { + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0" + }, + "compile": { + "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + } + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "type": "package", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + }, + "runtime": { + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} + } + }, + "System.Security.Cryptography.ProtectedData/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Security.Cryptography.ProtectedData.dll": {} + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll": { + "assetType": "runtime", + "rid": "unix" + }, + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll": { + "assetType": "runtime", + "rid": "win" + } + } + }, + "System.Text.Encoding/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Text.RegularExpressions/4.1.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Globalization": "4.0.11", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Threading": "4.0.11" + }, + "compile": { + "ref/netstandard1.6/System.Text.RegularExpressions.dll": {} + }, + "runtime": { + "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} + } + }, + "System.Threading/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.3.0": { + "type": "package", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.Tasks.dll": {} + } + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Runtime": "4.1.0", + "System.Threading.Tasks": "4.0.11" + }, + "compile": { + "lib/netstandard1.0/_._": {} + }, + "runtime": { + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} + } + }, + "System.Threading.Thread/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/System.Threading.Thread.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Threading.Thread.dll": {} + } + }, + "System.Threading.ThreadPool/4.3.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + }, + "compile": { + "ref/netstandard1.3/_._": {} + }, + "runtime": { + "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} + } + }, + "System.Xml.ReaderWriter/4.0.11": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.IO.FileSystem": "4.0.1", + "System.IO.FileSystem.Primitives": "4.0.1", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Text.RegularExpressions": "4.1.0", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Tasks.Extensions": "4.0.0" + }, + "compile": { + "ref/netstandard1.3/System.Xml.ReaderWriter.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} + } + }, + "System.Xml.XDocument/4.0.11": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.Globalization": "4.0.11", + "System.IO": "4.1.0", + "System.Reflection": "4.1.0", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime": "4.1.0", + "System.Runtime.Extensions": "4.1.0", + "System.Text.Encoding": "4.0.11", + "System.Threading": "4.0.11", + "System.Xml.ReaderWriter": "4.0.11" + }, + "compile": { + "ref/netstandard1.3/System.Xml.XDocument.dll": {} + }, + "runtime": { + "lib/netstandard1.3/System.Xml.XDocument.dll": {} + } + } + } + }, + "libraries": { + "AutoMapper/8.1.1": { + "sha512": "nVzVE1e9EoNFozDVP6RsY26RXbk4cuZJdG/SFB896tumt3b9ljMo3ar2HsgPKE+Pb2ywlVp1y74Bidb+tB9RUA==", + "type": "package", + "path": "automapper/8.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "automapper.8.1.1.nupkg.sha512", + "automapper.nuspec", + "lib/net461/AutoMapper.dll", + "lib/net461/AutoMapper.pdb", + "lib/net461/AutoMapper.xml", + "lib/netstandard2.0/AutoMapper.dll", + "lib/netstandard2.0/AutoMapper.pdb", + "lib/netstandard2.0/AutoMapper.xml" + ] + }, + "Microsoft.CSharp/4.5.0": { + "sha512": "yWWeTbGCzBOlRPWDCIxiTZW1ecZiMbao0ZT97KKEWdBhrLvUqU8RdzkhzuCRQzvoxzxlR7vytO43OOgFdkxv6g==", + "type": "package", + "path": "microsoft.csharp/4.5.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/Microsoft.CSharp.dll", + "lib/netcoreapp2.0/_._", + "lib/netstandard1.3/Microsoft.CSharp.dll", + "lib/netstandard2.0/Microsoft.CSharp.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/uap10.0.16299/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.csharp.4.5.0.nupkg.sha512", + "microsoft.csharp.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/Microsoft.CSharp.dll", + "ref/netcore50/Microsoft.CSharp.xml", + "ref/netcore50/de/Microsoft.CSharp.xml", + "ref/netcore50/es/Microsoft.CSharp.xml", + "ref/netcore50/fr/Microsoft.CSharp.xml", + "ref/netcore50/it/Microsoft.CSharp.xml", + "ref/netcore50/ja/Microsoft.CSharp.xml", + "ref/netcore50/ko/Microsoft.CSharp.xml", + "ref/netcore50/ru/Microsoft.CSharp.xml", + "ref/netcore50/zh-hans/Microsoft.CSharp.xml", + "ref/netcore50/zh-hant/Microsoft.CSharp.xml", + "ref/netcoreapp2.0/_._", + "ref/netstandard1.0/Microsoft.CSharp.dll", + "ref/netstandard1.0/Microsoft.CSharp.xml", + "ref/netstandard1.0/de/Microsoft.CSharp.xml", + "ref/netstandard1.0/es/Microsoft.CSharp.xml", + "ref/netstandard1.0/fr/Microsoft.CSharp.xml", + "ref/netstandard1.0/it/Microsoft.CSharp.xml", + "ref/netstandard1.0/ja/Microsoft.CSharp.xml", + "ref/netstandard1.0/ko/Microsoft.CSharp.xml", + "ref/netstandard1.0/ru/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", + "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", + "ref/netstandard2.0/Microsoft.CSharp.dll", + "ref/netstandard2.0/Microsoft.CSharp.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/uap10.0.16299/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.NETCore.App/2.2.0": { + "sha512": "scu9EtZfMBXAeyTPgiP5l/18xTU6QKDK+UfYWMFM7m5ZuBOPLhqjm+QyX8T6PI5y8exgcNiVd50TflyBl9M/og==", + "type": "package", + "path": "microsoft.netcore.app/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "Microsoft.NETCore.App.versions.txt", + "THIRD-PARTY-NOTICES.TXT", + "build/netcoreapp2.2/Microsoft.NETCore.App.PlatformManifest.txt", + "build/netcoreapp2.2/Microsoft.NETCore.App.props", + "build/netcoreapp2.2/Microsoft.NETCore.App.targets", + "microsoft.netcore.app.2.2.0.nupkg.sha512", + "microsoft.netcore.app.nuspec", + "ref/netcoreapp2.2/Microsoft.CSharp.dll", + "ref/netcoreapp2.2/Microsoft.CSharp.xml", + "ref/netcoreapp2.2/Microsoft.VisualBasic.dll", + "ref/netcoreapp2.2/Microsoft.VisualBasic.xml", + "ref/netcoreapp2.2/Microsoft.Win32.Primitives.dll", + "ref/netcoreapp2.2/Microsoft.Win32.Primitives.xml", + "ref/netcoreapp2.2/System.AppContext.dll", + "ref/netcoreapp2.2/System.Buffers.dll", + "ref/netcoreapp2.2/System.Buffers.xml", + "ref/netcoreapp2.2/System.Collections.Concurrent.dll", + "ref/netcoreapp2.2/System.Collections.Concurrent.xml", + "ref/netcoreapp2.2/System.Collections.Immutable.dll", + "ref/netcoreapp2.2/System.Collections.Immutable.xml", + "ref/netcoreapp2.2/System.Collections.NonGeneric.dll", + "ref/netcoreapp2.2/System.Collections.NonGeneric.xml", + "ref/netcoreapp2.2/System.Collections.Specialized.dll", + "ref/netcoreapp2.2/System.Collections.Specialized.xml", + "ref/netcoreapp2.2/System.Collections.dll", + "ref/netcoreapp2.2/System.Collections.xml", + "ref/netcoreapp2.2/System.ComponentModel.Annotations.dll", + "ref/netcoreapp2.2/System.ComponentModel.Annotations.xml", + "ref/netcoreapp2.2/System.ComponentModel.DataAnnotations.dll", + "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.dll", + "ref/netcoreapp2.2/System.ComponentModel.EventBasedAsync.xml", + "ref/netcoreapp2.2/System.ComponentModel.Primitives.dll", + "ref/netcoreapp2.2/System.ComponentModel.Primitives.xml", + "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.dll", + "ref/netcoreapp2.2/System.ComponentModel.TypeConverter.xml", + "ref/netcoreapp2.2/System.ComponentModel.dll", + "ref/netcoreapp2.2/System.ComponentModel.xml", + "ref/netcoreapp2.2/System.Configuration.dll", + "ref/netcoreapp2.2/System.Console.dll", + "ref/netcoreapp2.2/System.Console.xml", + "ref/netcoreapp2.2/System.Core.dll", + "ref/netcoreapp2.2/System.Data.Common.dll", + "ref/netcoreapp2.2/System.Data.Common.xml", + "ref/netcoreapp2.2/System.Data.dll", + "ref/netcoreapp2.2/System.Diagnostics.Contracts.dll", + "ref/netcoreapp2.2/System.Diagnostics.Contracts.xml", + "ref/netcoreapp2.2/System.Diagnostics.Debug.dll", + "ref/netcoreapp2.2/System.Diagnostics.Debug.xml", + "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.dll", + "ref/netcoreapp2.2/System.Diagnostics.DiagnosticSource.xml", + "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.dll", + "ref/netcoreapp2.2/System.Diagnostics.FileVersionInfo.xml", + "ref/netcoreapp2.2/System.Diagnostics.Process.dll", + "ref/netcoreapp2.2/System.Diagnostics.Process.xml", + "ref/netcoreapp2.2/System.Diagnostics.StackTrace.dll", + "ref/netcoreapp2.2/System.Diagnostics.StackTrace.xml", + "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.dll", + "ref/netcoreapp2.2/System.Diagnostics.TextWriterTraceListener.xml", + "ref/netcoreapp2.2/System.Diagnostics.Tools.dll", + "ref/netcoreapp2.2/System.Diagnostics.Tools.xml", + "ref/netcoreapp2.2/System.Diagnostics.TraceSource.dll", + "ref/netcoreapp2.2/System.Diagnostics.TraceSource.xml", + "ref/netcoreapp2.2/System.Diagnostics.Tracing.dll", + "ref/netcoreapp2.2/System.Diagnostics.Tracing.xml", + "ref/netcoreapp2.2/System.Drawing.Primitives.dll", + "ref/netcoreapp2.2/System.Drawing.Primitives.xml", + "ref/netcoreapp2.2/System.Drawing.dll", + "ref/netcoreapp2.2/System.Dynamic.Runtime.dll", + "ref/netcoreapp2.2/System.Globalization.Calendars.dll", + "ref/netcoreapp2.2/System.Globalization.Extensions.dll", + "ref/netcoreapp2.2/System.Globalization.dll", + "ref/netcoreapp2.2/System.IO.Compression.Brotli.dll", + "ref/netcoreapp2.2/System.IO.Compression.FileSystem.dll", + "ref/netcoreapp2.2/System.IO.Compression.ZipFile.dll", + "ref/netcoreapp2.2/System.IO.Compression.ZipFile.xml", + "ref/netcoreapp2.2/System.IO.Compression.dll", + "ref/netcoreapp2.2/System.IO.Compression.xml", + "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.dll", + "ref/netcoreapp2.2/System.IO.FileSystem.DriveInfo.xml", + "ref/netcoreapp2.2/System.IO.FileSystem.Primitives.dll", + "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.dll", + "ref/netcoreapp2.2/System.IO.FileSystem.Watcher.xml", + "ref/netcoreapp2.2/System.IO.FileSystem.dll", + "ref/netcoreapp2.2/System.IO.FileSystem.xml", + "ref/netcoreapp2.2/System.IO.IsolatedStorage.dll", + "ref/netcoreapp2.2/System.IO.IsolatedStorage.xml", + "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.dll", + "ref/netcoreapp2.2/System.IO.MemoryMappedFiles.xml", + "ref/netcoreapp2.2/System.IO.Pipes.dll", + "ref/netcoreapp2.2/System.IO.Pipes.xml", + "ref/netcoreapp2.2/System.IO.UnmanagedMemoryStream.dll", + "ref/netcoreapp2.2/System.IO.dll", + "ref/netcoreapp2.2/System.Linq.Expressions.dll", + "ref/netcoreapp2.2/System.Linq.Expressions.xml", + "ref/netcoreapp2.2/System.Linq.Parallel.dll", + "ref/netcoreapp2.2/System.Linq.Parallel.xml", + "ref/netcoreapp2.2/System.Linq.Queryable.dll", + "ref/netcoreapp2.2/System.Linq.Queryable.xml", + "ref/netcoreapp2.2/System.Linq.dll", + "ref/netcoreapp2.2/System.Linq.xml", + "ref/netcoreapp2.2/System.Memory.dll", + "ref/netcoreapp2.2/System.Memory.xml", + "ref/netcoreapp2.2/System.Net.Http.dll", + "ref/netcoreapp2.2/System.Net.Http.xml", + "ref/netcoreapp2.2/System.Net.HttpListener.dll", + "ref/netcoreapp2.2/System.Net.HttpListener.xml", + "ref/netcoreapp2.2/System.Net.Mail.dll", + "ref/netcoreapp2.2/System.Net.Mail.xml", + "ref/netcoreapp2.2/System.Net.NameResolution.dll", + "ref/netcoreapp2.2/System.Net.NameResolution.xml", + "ref/netcoreapp2.2/System.Net.NetworkInformation.dll", + "ref/netcoreapp2.2/System.Net.NetworkInformation.xml", + "ref/netcoreapp2.2/System.Net.Ping.dll", + "ref/netcoreapp2.2/System.Net.Ping.xml", + "ref/netcoreapp2.2/System.Net.Primitives.dll", + "ref/netcoreapp2.2/System.Net.Primitives.xml", + "ref/netcoreapp2.2/System.Net.Requests.dll", + "ref/netcoreapp2.2/System.Net.Requests.xml", + "ref/netcoreapp2.2/System.Net.Security.dll", + "ref/netcoreapp2.2/System.Net.Security.xml", + "ref/netcoreapp2.2/System.Net.ServicePoint.dll", + "ref/netcoreapp2.2/System.Net.ServicePoint.xml", + "ref/netcoreapp2.2/System.Net.Sockets.dll", + "ref/netcoreapp2.2/System.Net.Sockets.xml", + "ref/netcoreapp2.2/System.Net.WebClient.dll", + "ref/netcoreapp2.2/System.Net.WebClient.xml", + "ref/netcoreapp2.2/System.Net.WebHeaderCollection.dll", + "ref/netcoreapp2.2/System.Net.WebHeaderCollection.xml", + "ref/netcoreapp2.2/System.Net.WebProxy.dll", + "ref/netcoreapp2.2/System.Net.WebProxy.xml", + "ref/netcoreapp2.2/System.Net.WebSockets.Client.dll", + "ref/netcoreapp2.2/System.Net.WebSockets.Client.xml", + "ref/netcoreapp2.2/System.Net.WebSockets.dll", + "ref/netcoreapp2.2/System.Net.WebSockets.xml", + "ref/netcoreapp2.2/System.Net.dll", + "ref/netcoreapp2.2/System.Numerics.Vectors.dll", + "ref/netcoreapp2.2/System.Numerics.Vectors.xml", + "ref/netcoreapp2.2/System.Numerics.dll", + "ref/netcoreapp2.2/System.ObjectModel.dll", + "ref/netcoreapp2.2/System.ObjectModel.xml", + "ref/netcoreapp2.2/System.Reflection.DispatchProxy.dll", + "ref/netcoreapp2.2/System.Reflection.DispatchProxy.xml", + "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.dll", + "ref/netcoreapp2.2/System.Reflection.Emit.ILGeneration.xml", + "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.dll", + "ref/netcoreapp2.2/System.Reflection.Emit.Lightweight.xml", + "ref/netcoreapp2.2/System.Reflection.Emit.dll", + "ref/netcoreapp2.2/System.Reflection.Emit.xml", + "ref/netcoreapp2.2/System.Reflection.Extensions.dll", + "ref/netcoreapp2.2/System.Reflection.Metadata.dll", + "ref/netcoreapp2.2/System.Reflection.Metadata.xml", + "ref/netcoreapp2.2/System.Reflection.Primitives.dll", + "ref/netcoreapp2.2/System.Reflection.Primitives.xml", + "ref/netcoreapp2.2/System.Reflection.TypeExtensions.dll", + "ref/netcoreapp2.2/System.Reflection.TypeExtensions.xml", + "ref/netcoreapp2.2/System.Reflection.dll", + "ref/netcoreapp2.2/System.Resources.Reader.dll", + "ref/netcoreapp2.2/System.Resources.ResourceManager.dll", + "ref/netcoreapp2.2/System.Resources.ResourceManager.xml", + "ref/netcoreapp2.2/System.Resources.Writer.dll", + "ref/netcoreapp2.2/System.Resources.Writer.xml", + "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.dll", + "ref/netcoreapp2.2/System.Runtime.CompilerServices.VisualC.xml", + "ref/netcoreapp2.2/System.Runtime.Extensions.dll", + "ref/netcoreapp2.2/System.Runtime.Extensions.xml", + "ref/netcoreapp2.2/System.Runtime.Handles.dll", + "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.dll", + "ref/netcoreapp2.2/System.Runtime.InteropServices.RuntimeInformation.xml", + "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.dll", + "ref/netcoreapp2.2/System.Runtime.InteropServices.WindowsRuntime.xml", + "ref/netcoreapp2.2/System.Runtime.InteropServices.dll", + "ref/netcoreapp2.2/System.Runtime.InteropServices.xml", + "ref/netcoreapp2.2/System.Runtime.Loader.dll", + "ref/netcoreapp2.2/System.Runtime.Loader.xml", + "ref/netcoreapp2.2/System.Runtime.Numerics.dll", + "ref/netcoreapp2.2/System.Runtime.Numerics.xml", + "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.dll", + "ref/netcoreapp2.2/System.Runtime.Serialization.Formatters.xml", + "ref/netcoreapp2.2/System.Runtime.Serialization.Json.dll", + "ref/netcoreapp2.2/System.Runtime.Serialization.Json.xml", + "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.dll", + "ref/netcoreapp2.2/System.Runtime.Serialization.Primitives.xml", + "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.dll", + "ref/netcoreapp2.2/System.Runtime.Serialization.Xml.xml", + "ref/netcoreapp2.2/System.Runtime.Serialization.dll", + "ref/netcoreapp2.2/System.Runtime.dll", + "ref/netcoreapp2.2/System.Runtime.xml", + "ref/netcoreapp2.2/System.Security.Claims.dll", + "ref/netcoreapp2.2/System.Security.Claims.xml", + "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.dll", + "ref/netcoreapp2.2/System.Security.Cryptography.Algorithms.xml", + "ref/netcoreapp2.2/System.Security.Cryptography.Csp.dll", + "ref/netcoreapp2.2/System.Security.Cryptography.Csp.xml", + "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.dll", + "ref/netcoreapp2.2/System.Security.Cryptography.Encoding.xml", + "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.dll", + "ref/netcoreapp2.2/System.Security.Cryptography.Primitives.xml", + "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.dll", + "ref/netcoreapp2.2/System.Security.Cryptography.X509Certificates.xml", + "ref/netcoreapp2.2/System.Security.Principal.dll", + "ref/netcoreapp2.2/System.Security.Principal.xml", + "ref/netcoreapp2.2/System.Security.SecureString.dll", + "ref/netcoreapp2.2/System.Security.dll", + "ref/netcoreapp2.2/System.ServiceModel.Web.dll", + "ref/netcoreapp2.2/System.ServiceProcess.dll", + "ref/netcoreapp2.2/System.Text.Encoding.Extensions.dll", + "ref/netcoreapp2.2/System.Text.Encoding.Extensions.xml", + "ref/netcoreapp2.2/System.Text.Encoding.dll", + "ref/netcoreapp2.2/System.Text.RegularExpressions.dll", + "ref/netcoreapp2.2/System.Text.RegularExpressions.xml", + "ref/netcoreapp2.2/System.Threading.Overlapped.dll", + "ref/netcoreapp2.2/System.Threading.Overlapped.xml", + "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.dll", + "ref/netcoreapp2.2/System.Threading.Tasks.Dataflow.xml", + "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.dll", + "ref/netcoreapp2.2/System.Threading.Tasks.Extensions.xml", + "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.dll", + "ref/netcoreapp2.2/System.Threading.Tasks.Parallel.xml", + "ref/netcoreapp2.2/System.Threading.Tasks.dll", + "ref/netcoreapp2.2/System.Threading.Tasks.xml", + "ref/netcoreapp2.2/System.Threading.Thread.dll", + "ref/netcoreapp2.2/System.Threading.Thread.xml", + "ref/netcoreapp2.2/System.Threading.ThreadPool.dll", + "ref/netcoreapp2.2/System.Threading.ThreadPool.xml", + "ref/netcoreapp2.2/System.Threading.Timer.dll", + "ref/netcoreapp2.2/System.Threading.Timer.xml", + "ref/netcoreapp2.2/System.Threading.dll", + "ref/netcoreapp2.2/System.Threading.xml", + "ref/netcoreapp2.2/System.Transactions.Local.dll", + "ref/netcoreapp2.2/System.Transactions.Local.xml", + "ref/netcoreapp2.2/System.Transactions.dll", + "ref/netcoreapp2.2/System.ValueTuple.dll", + "ref/netcoreapp2.2/System.Web.HttpUtility.dll", + "ref/netcoreapp2.2/System.Web.HttpUtility.xml", + "ref/netcoreapp2.2/System.Web.dll", + "ref/netcoreapp2.2/System.Windows.dll", + "ref/netcoreapp2.2/System.Xml.Linq.dll", + "ref/netcoreapp2.2/System.Xml.ReaderWriter.dll", + "ref/netcoreapp2.2/System.Xml.ReaderWriter.xml", + "ref/netcoreapp2.2/System.Xml.Serialization.dll", + "ref/netcoreapp2.2/System.Xml.XDocument.dll", + "ref/netcoreapp2.2/System.Xml.XDocument.xml", + "ref/netcoreapp2.2/System.Xml.XPath.XDocument.dll", + "ref/netcoreapp2.2/System.Xml.XPath.XDocument.xml", + "ref/netcoreapp2.2/System.Xml.XPath.dll", + "ref/netcoreapp2.2/System.Xml.XPath.xml", + "ref/netcoreapp2.2/System.Xml.XmlDocument.dll", + "ref/netcoreapp2.2/System.Xml.XmlSerializer.dll", + "ref/netcoreapp2.2/System.Xml.XmlSerializer.xml", + "ref/netcoreapp2.2/System.Xml.dll", + "ref/netcoreapp2.2/System.dll", + "ref/netcoreapp2.2/WindowsBase.dll", + "ref/netcoreapp2.2/mscorlib.dll", + "ref/netcoreapp2.2/netstandard.dll", + "runtime.json" + ] + }, + "Microsoft.NETCore.DotNetAppHost/2.2.0": { + "sha512": "OK/H8p9Ig6mLMITjXJ4VOewrJg/TU+dAPHE4BdMWMv+8COzBehf7XF1+DofKkmqdHpO2cJoS5Sc9PEZ6PKCbsg==", + "type": "package", + "path": "microsoft.netcore.dotnetapphost/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "microsoft.netcore.dotnetapphost.2.2.0.nupkg.sha512", + "microsoft.netcore.dotnetapphost.nuspec", + "runtime.json" + ] + }, + "Microsoft.NETCore.DotNetHostPolicy/2.2.0": { + "sha512": "usINorQD/B8jsNo9V1+MvAkzFj2QE1yNmAuh4vG5Wsd71EjBAVxFTDAb6mmJQI6wO4j11L1VJuOGMV/86JecWg==", + "type": "package", + "path": "microsoft.netcore.dotnethostpolicy/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "microsoft.netcore.dotnethostpolicy.2.2.0.nupkg.sha512", + "microsoft.netcore.dotnethostpolicy.nuspec", + "runtime.json" + ] + }, + "Microsoft.NETCore.DotNetHostResolver/2.2.0": { + "sha512": "oAN5xJhulhZ41AljFUfX9X+BlXQvYekh9IjLbWe10KVFOAnAv0LVbJB+lY1OUsq9TXBi2A2gdEKLqPwJqXdO0g==", + "type": "package", + "path": "microsoft.netcore.dotnethostresolver/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "microsoft.netcore.dotnethostresolver.2.2.0.nupkg.sha512", + "microsoft.netcore.dotnethostresolver.nuspec", + "runtime.json" + ] + }, + "Microsoft.NETCore.Platforms/2.2.0": { + "sha512": "whK/5p0sLtQiDbcTphVRjmN3tmV+YMYf8vuaKU05y1iZw9KWiG/iLY5Pd3ok+vFBJ+FZnmp7NqF7o7WrAYToLg==", + "type": "package", + "path": "microsoft.netcore.platforms/2.2.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.0/_._", + "microsoft.netcore.platforms.2.2.0.nupkg.sha512", + "microsoft.netcore.platforms.nuspec", + "runtime.json", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.NETCore.Targets/2.0.0": { + "sha512": "mJnCMoBfWL0lxxlBFJ/8cZKTfPpI82TekZkUqvSCBtunUaaqr2LVeWl1zQYdanAdk4Ddf1HCwb8+DNYaNFBk1w==", + "type": "package", + "path": "microsoft.netcore.targets/2.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "lib/netstandard1.0/_._", + "microsoft.netcore.targets.2.0.0.nupkg.sha512", + "microsoft.netcore.targets.nuspec", + "runtime.json", + "useSharedDesignerContext.txt", + "version.txt" + ] + }, + "Microsoft.Win32.Primitives/4.3.0": { + "sha512": "Nm8Hp51y9tYcK3xD6qk43Wjftrg1mdH24CCJsTb6gr7HS21U1uA+CKPGEtUcVZbjU1y8Kynzm5eoJ7Pnx5gm8A==", + "type": "package", + "path": "microsoft.win32.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/Microsoft.Win32.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "microsoft.win32.primitives.4.3.0.nupkg.sha512", + "microsoft.win32.primitives.nuspec", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/Microsoft.Win32.Primitives.dll", + "ref/netstandard1.3/Microsoft.Win32.Primitives.dll", + "ref/netstandard1.3/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Primitives.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._" + ] + }, + "Microsoft.Win32.Registry/4.3.0": { + "sha512": "OHAvcu6tVh40PncTYFkpLItsw9O8sUc59C4eqSqEd+U5rY7t0+u7Xoi6Mw2QOfvPJ2HUJlwIEVqxklDIfn757Q==", + "type": "package", + "path": "microsoft.win32.registry/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/net46/Microsoft.Win32.Registry.dll", + "microsoft.win32.registry.4.3.0.nupkg.sha512", + "microsoft.win32.registry.nuspec", + "ref/net46/Microsoft.Win32.Registry.dll", + "ref/netstandard1.3/Microsoft.Win32.Registry.dll", + "ref/netstandard1.3/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", + "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", + "runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", + "runtimes/win/lib/netcore50/_._", + "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll" + ] + }, + "NETStandard.Library/2.0.3": { + "sha512": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==", + "type": "package", + "path": "netstandard.library/2.0.3", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "build/netstandard2.0/NETStandard.Library.targets", + "build/netstandard2.0/ref/Microsoft.Win32.Primitives.dll", + "build/netstandard2.0/ref/System.AppContext.dll", + "build/netstandard2.0/ref/System.Collections.Concurrent.dll", + "build/netstandard2.0/ref/System.Collections.NonGeneric.dll", + "build/netstandard2.0/ref/System.Collections.Specialized.dll", + "build/netstandard2.0/ref/System.Collections.dll", + "build/netstandard2.0/ref/System.ComponentModel.Composition.dll", + "build/netstandard2.0/ref/System.ComponentModel.EventBasedAsync.dll", + "build/netstandard2.0/ref/System.ComponentModel.Primitives.dll", + "build/netstandard2.0/ref/System.ComponentModel.TypeConverter.dll", + "build/netstandard2.0/ref/System.ComponentModel.dll", + "build/netstandard2.0/ref/System.Console.dll", + "build/netstandard2.0/ref/System.Core.dll", + "build/netstandard2.0/ref/System.Data.Common.dll", + "build/netstandard2.0/ref/System.Data.dll", + "build/netstandard2.0/ref/System.Diagnostics.Contracts.dll", + "build/netstandard2.0/ref/System.Diagnostics.Debug.dll", + "build/netstandard2.0/ref/System.Diagnostics.FileVersionInfo.dll", + "build/netstandard2.0/ref/System.Diagnostics.Process.dll", + "build/netstandard2.0/ref/System.Diagnostics.StackTrace.dll", + "build/netstandard2.0/ref/System.Diagnostics.TextWriterTraceListener.dll", + "build/netstandard2.0/ref/System.Diagnostics.Tools.dll", + "build/netstandard2.0/ref/System.Diagnostics.TraceSource.dll", + "build/netstandard2.0/ref/System.Diagnostics.Tracing.dll", + "build/netstandard2.0/ref/System.Drawing.Primitives.dll", + "build/netstandard2.0/ref/System.Drawing.dll", + "build/netstandard2.0/ref/System.Dynamic.Runtime.dll", + "build/netstandard2.0/ref/System.Globalization.Calendars.dll", + "build/netstandard2.0/ref/System.Globalization.Extensions.dll", + "build/netstandard2.0/ref/System.Globalization.dll", + "build/netstandard2.0/ref/System.IO.Compression.FileSystem.dll", + "build/netstandard2.0/ref/System.IO.Compression.ZipFile.dll", + "build/netstandard2.0/ref/System.IO.Compression.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.DriveInfo.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.Primitives.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.Watcher.dll", + "build/netstandard2.0/ref/System.IO.FileSystem.dll", + "build/netstandard2.0/ref/System.IO.IsolatedStorage.dll", + "build/netstandard2.0/ref/System.IO.MemoryMappedFiles.dll", + "build/netstandard2.0/ref/System.IO.Pipes.dll", + "build/netstandard2.0/ref/System.IO.UnmanagedMemoryStream.dll", + "build/netstandard2.0/ref/System.IO.dll", + "build/netstandard2.0/ref/System.Linq.Expressions.dll", + "build/netstandard2.0/ref/System.Linq.Parallel.dll", + "build/netstandard2.0/ref/System.Linq.Queryable.dll", + "build/netstandard2.0/ref/System.Linq.dll", + "build/netstandard2.0/ref/System.Net.Http.dll", + "build/netstandard2.0/ref/System.Net.NameResolution.dll", + "build/netstandard2.0/ref/System.Net.NetworkInformation.dll", + "build/netstandard2.0/ref/System.Net.Ping.dll", + "build/netstandard2.0/ref/System.Net.Primitives.dll", + "build/netstandard2.0/ref/System.Net.Requests.dll", + "build/netstandard2.0/ref/System.Net.Security.dll", + "build/netstandard2.0/ref/System.Net.Sockets.dll", + "build/netstandard2.0/ref/System.Net.WebHeaderCollection.dll", + "build/netstandard2.0/ref/System.Net.WebSockets.Client.dll", + "build/netstandard2.0/ref/System.Net.WebSockets.dll", + "build/netstandard2.0/ref/System.Net.dll", + "build/netstandard2.0/ref/System.Numerics.dll", + "build/netstandard2.0/ref/System.ObjectModel.dll", + "build/netstandard2.0/ref/System.Reflection.Extensions.dll", + "build/netstandard2.0/ref/System.Reflection.Primitives.dll", + "build/netstandard2.0/ref/System.Reflection.dll", + "build/netstandard2.0/ref/System.Resources.Reader.dll", + "build/netstandard2.0/ref/System.Resources.ResourceManager.dll", + "build/netstandard2.0/ref/System.Resources.Writer.dll", + "build/netstandard2.0/ref/System.Runtime.CompilerServices.VisualC.dll", + "build/netstandard2.0/ref/System.Runtime.Extensions.dll", + "build/netstandard2.0/ref/System.Runtime.Handles.dll", + "build/netstandard2.0/ref/System.Runtime.InteropServices.RuntimeInformation.dll", + "build/netstandard2.0/ref/System.Runtime.InteropServices.dll", + "build/netstandard2.0/ref/System.Runtime.Numerics.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Formatters.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Json.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Primitives.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.Xml.dll", + "build/netstandard2.0/ref/System.Runtime.Serialization.dll", + "build/netstandard2.0/ref/System.Runtime.dll", + "build/netstandard2.0/ref/System.Security.Claims.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Algorithms.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Csp.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Encoding.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.Primitives.dll", + "build/netstandard2.0/ref/System.Security.Cryptography.X509Certificates.dll", + "build/netstandard2.0/ref/System.Security.Principal.dll", + "build/netstandard2.0/ref/System.Security.SecureString.dll", + "build/netstandard2.0/ref/System.ServiceModel.Web.dll", + "build/netstandard2.0/ref/System.Text.Encoding.Extensions.dll", + "build/netstandard2.0/ref/System.Text.Encoding.dll", + "build/netstandard2.0/ref/System.Text.RegularExpressions.dll", + "build/netstandard2.0/ref/System.Threading.Overlapped.dll", + "build/netstandard2.0/ref/System.Threading.Tasks.Parallel.dll", + "build/netstandard2.0/ref/System.Threading.Tasks.dll", + "build/netstandard2.0/ref/System.Threading.Thread.dll", + "build/netstandard2.0/ref/System.Threading.ThreadPool.dll", + "build/netstandard2.0/ref/System.Threading.Timer.dll", + "build/netstandard2.0/ref/System.Threading.dll", + "build/netstandard2.0/ref/System.Transactions.dll", + "build/netstandard2.0/ref/System.ValueTuple.dll", + "build/netstandard2.0/ref/System.Web.dll", + "build/netstandard2.0/ref/System.Windows.dll", + "build/netstandard2.0/ref/System.Xml.Linq.dll", + "build/netstandard2.0/ref/System.Xml.ReaderWriter.dll", + "build/netstandard2.0/ref/System.Xml.Serialization.dll", + "build/netstandard2.0/ref/System.Xml.XDocument.dll", + "build/netstandard2.0/ref/System.Xml.XPath.XDocument.dll", + "build/netstandard2.0/ref/System.Xml.XPath.dll", + "build/netstandard2.0/ref/System.Xml.XmlDocument.dll", + "build/netstandard2.0/ref/System.Xml.XmlSerializer.dll", + "build/netstandard2.0/ref/System.Xml.dll", + "build/netstandard2.0/ref/System.dll", + "build/netstandard2.0/ref/mscorlib.dll", + "build/netstandard2.0/ref/netstandard.dll", + "build/netstandard2.0/ref/netstandard.xml", + "lib/netstandard1.0/_._", + "netstandard.library.2.0.3.nupkg.sha512", + "netstandard.library.nuspec" + ] + }, + "Newtonsoft.Json/9.0.1": { + "sha512": "2okXpTRwUcgQb06put5LwwCjtgoFo74zkPksjcvOpnIjx7TagGW5IoBCAA4luZx1+tfiIhoNqoiI7Y7zwWGyKA==", + "type": "package", + "path": "newtonsoft.json/9.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net20/Newtonsoft.Json.dll", + "lib/net20/Newtonsoft.Json.xml", + "lib/net35/Newtonsoft.Json.dll", + "lib/net35/Newtonsoft.Json.xml", + "lib/net40/Newtonsoft.Json.dll", + "lib/net40/Newtonsoft.Json.xml", + "lib/net45/Newtonsoft.Json.dll", + "lib/net45/Newtonsoft.Json.xml", + "lib/netstandard1.0/Newtonsoft.Json.dll", + "lib/netstandard1.0/Newtonsoft.Json.xml", + "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml", + "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll", + "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml", + "newtonsoft.json.9.0.1.nupkg.sha512", + "newtonsoft.json.nuspec", + "tools/install.ps1" + ] + }, + "NuGet.Common/5.1.0": { + "sha512": "rmI+Tvtwuohc3jyT3uqbR5YihSt1IoL0H5PZh2CMjTcj3XJgi5G3SXQ3WLN53SJ/GOAK2SWifqdgiNuckn9MoA==", + "type": "package", + "path": "nuget.common/5.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/NuGet.Common.dll", + "lib/net472/NuGet.Common.xml", + "lib/netstandard2.0/NuGet.Common.dll", + "lib/netstandard2.0/NuGet.Common.xml", + "nuget.common.5.1.0.nupkg.sha512", + "nuget.common.nuspec" + ] + }, + "NuGet.Configuration/5.1.0": { + "sha512": "Qqr+wjYtuZLkbKEaRqIr3/ECaX/oZZ5StQR9F4jKMI0AtFmir/fwvasoszfZ92hQ6ucDa9F1Q2KQFyZyyZmBYw==", + "type": "package", + "path": "nuget.configuration/5.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/NuGet.Configuration.dll", + "lib/net472/NuGet.Configuration.xml", + "lib/netstandard2.0/NuGet.Configuration.dll", + "lib/netstandard2.0/NuGet.Configuration.xml", + "nuget.configuration.5.1.0.nupkg.sha512", + "nuget.configuration.nuspec" + ] + }, + "NuGet.Frameworks/5.1.0": { + "sha512": "Poun+0+l2xonuDXpK5al4/DAG99X4LM4xUyP1gm0L6Jn4YasynzB40QYBnEb7gAlnsiuauEW+uPHsp2ri4UNJg==", + "type": "package", + "path": "nuget.frameworks/5.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net40/NuGet.Frameworks.dll", + "lib/net40/NuGet.Frameworks.xml", + "lib/net472/NuGet.Frameworks.dll", + "lib/net472/NuGet.Frameworks.xml", + "lib/netstandard2.0/NuGet.Frameworks.dll", + "lib/netstandard2.0/NuGet.Frameworks.xml", + "nuget.frameworks.5.1.0.nupkg.sha512", + "nuget.frameworks.nuspec" + ] + }, + "NuGet.Packaging/5.1.0": { + "sha512": "x6jSzuuOB7a89j3xga1Ogdnr/C0+Cmeog+uFo82Unjk2RYejpecqj+H7SReY1+1FflxeZCyxAKgPGCRp8VXwxg==", + "type": "package", + "path": "nuget.packaging/5.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/NuGet.Packaging.dll", + "lib/net472/NuGet.Packaging.xml", + "lib/netstandard2.0/NuGet.Packaging.dll", + "lib/netstandard2.0/NuGet.Packaging.xml", + "nuget.packaging.5.1.0.nupkg.sha512", + "nuget.packaging.nuspec" + ] + }, + "NuGet.Versioning/5.1.0": { + "sha512": "2o93k2KlnvEjYODhgOBfVxeGlVvTAnnsRxclsgu6qyCqu6EDHydmqaTvHNQ/kO7TXQVEPc/nj8Aphw9I4cpnXw==", + "type": "package", + "path": "nuget.versioning/5.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net472/NuGet.Versioning.dll", + "lib/net472/NuGet.Versioning.xml", + "lib/netstandard2.0/NuGet.Versioning.dll", + "lib/netstandard2.0/NuGet.Versioning.xml", + "nuget.versioning.5.1.0.nupkg.sha512", + "nuget.versioning.nuspec" + ] + }, + "runtime.native.System/4.3.0": { + "sha512": "KZxalv/9yvGXLj49HHJ4N9GKyeiMt5wJkU8S/x3nKA3/EMkjKkmhwdO6d4Wlz3byjJ3OQU8KKlZ2iN5/1TMdyA==", + "type": "package", + "path": "runtime.native.system/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/_._", + "runtime.native.system.4.3.0.nupkg.sha512", + "runtime.native.system.nuspec" + ] + }, + "System.Collections/4.3.0": { + "sha512": "ynuVLTDaFIfKTkOqUigXte4m5+EFNwYoEBEvxnp1EnZsOdQC85S7BCbREIu8+bu2Tpzh9a9zbvIVpRo15V8FGw==", + "type": "package", + "path": "system.collections/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Collections.dll", + "ref/netcore50/System.Collections.xml", + "ref/netcore50/de/System.Collections.xml", + "ref/netcore50/es/System.Collections.xml", + "ref/netcore50/fr/System.Collections.xml", + "ref/netcore50/it/System.Collections.xml", + "ref/netcore50/ja/System.Collections.xml", + "ref/netcore50/ko/System.Collections.xml", + "ref/netcore50/ru/System.Collections.xml", + "ref/netcore50/zh-hans/System.Collections.xml", + "ref/netcore50/zh-hant/System.Collections.xml", + "ref/netstandard1.0/System.Collections.dll", + "ref/netstandard1.0/System.Collections.xml", + "ref/netstandard1.0/de/System.Collections.xml", + "ref/netstandard1.0/es/System.Collections.xml", + "ref/netstandard1.0/fr/System.Collections.xml", + "ref/netstandard1.0/it/System.Collections.xml", + "ref/netstandard1.0/ja/System.Collections.xml", + "ref/netstandard1.0/ko/System.Collections.xml", + "ref/netstandard1.0/ru/System.Collections.xml", + "ref/netstandard1.0/zh-hans/System.Collections.xml", + "ref/netstandard1.0/zh-hant/System.Collections.xml", + "ref/netstandard1.3/System.Collections.dll", + "ref/netstandard1.3/System.Collections.xml", + "ref/netstandard1.3/de/System.Collections.xml", + "ref/netstandard1.3/es/System.Collections.xml", + "ref/netstandard1.3/fr/System.Collections.xml", + "ref/netstandard1.3/it/System.Collections.xml", + "ref/netstandard1.3/ja/System.Collections.xml", + "ref/netstandard1.3/ko/System.Collections.xml", + "ref/netstandard1.3/ru/System.Collections.xml", + "ref/netstandard1.3/zh-hans/System.Collections.xml", + "ref/netstandard1.3/zh-hant/System.Collections.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.collections.4.3.0.nupkg.sha512", + "system.collections.nuspec" + ] + }, + "System.Diagnostics.Debug/4.3.0": { + "sha512": "bFj+HjYY5/h2hMHOp+/H07Gb19+NJTX54ntixS9EHxG2eyEiXWvNYvQJ4CwqFiMcTbGb4zuPq1ubClyGYN2rJA==", + "type": "package", + "path": "system.diagnostics.debug/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Debug.dll", + "ref/netcore50/System.Diagnostics.Debug.xml", + "ref/netcore50/de/System.Diagnostics.Debug.xml", + "ref/netcore50/es/System.Diagnostics.Debug.xml", + "ref/netcore50/fr/System.Diagnostics.Debug.xml", + "ref/netcore50/it/System.Diagnostics.Debug.xml", + "ref/netcore50/ja/System.Diagnostics.Debug.xml", + "ref/netcore50/ko/System.Diagnostics.Debug.xml", + "ref/netcore50/ru/System.Diagnostics.Debug.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/System.Diagnostics.Debug.dll", + "ref/netstandard1.0/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/de/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/es/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/fr/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/it/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ja/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ko/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/ru/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml", + "ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/System.Diagnostics.Debug.dll", + "ref/netstandard1.3/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/de/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/es/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/fr/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/it/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ja/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ko/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/ru/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.debug.4.3.0.nupkg.sha512", + "system.diagnostics.debug.nuspec" + ] + }, + "System.Diagnostics.Process/4.3.0": { + "sha512": "gFvIaiWxt33En3oUVkzSYUzKoOm8abV8IbM53HPOfLZBLD9yRdDxvqRihK/1ySRkFp5NZIXd4cYWsY0ybnvANg==", + "type": "package", + "path": "system.diagnostics.process/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Diagnostics.Process.dll", + "lib/net461/System.Diagnostics.Process.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Diagnostics.Process.dll", + "ref/net461/System.Diagnostics.Process.dll", + "ref/netstandard1.3/System.Diagnostics.Process.dll", + "ref/netstandard1.3/System.Diagnostics.Process.xml", + "ref/netstandard1.3/de/System.Diagnostics.Process.xml", + "ref/netstandard1.3/es/System.Diagnostics.Process.xml", + "ref/netstandard1.3/fr/System.Diagnostics.Process.xml", + "ref/netstandard1.3/it/System.Diagnostics.Process.xml", + "ref/netstandard1.3/ja/System.Diagnostics.Process.xml", + "ref/netstandard1.3/ko/System.Diagnostics.Process.xml", + "ref/netstandard1.3/ru/System.Diagnostics.Process.xml", + "ref/netstandard1.3/zh-hans/System.Diagnostics.Process.xml", + "ref/netstandard1.3/zh-hant/System.Diagnostics.Process.xml", + "ref/netstandard1.4/System.Diagnostics.Process.dll", + "ref/netstandard1.4/System.Diagnostics.Process.xml", + "ref/netstandard1.4/de/System.Diagnostics.Process.xml", + "ref/netstandard1.4/es/System.Diagnostics.Process.xml", + "ref/netstandard1.4/fr/System.Diagnostics.Process.xml", + "ref/netstandard1.4/it/System.Diagnostics.Process.xml", + "ref/netstandard1.4/ja/System.Diagnostics.Process.xml", + "ref/netstandard1.4/ko/System.Diagnostics.Process.xml", + "ref/netstandard1.4/ru/System.Diagnostics.Process.xml", + "ref/netstandard1.4/zh-hans/System.Diagnostics.Process.xml", + "ref/netstandard1.4/zh-hant/System.Diagnostics.Process.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/linux/lib/netstandard1.4/System.Diagnostics.Process.dll", + "runtimes/osx/lib/netstandard1.4/System.Diagnostics.Process.dll", + "runtimes/win/lib/net46/System.Diagnostics.Process.dll", + "runtimes/win/lib/net461/System.Diagnostics.Process.dll", + "runtimes/win/lib/netstandard1.4/System.Diagnostics.Process.dll", + "runtimes/win7/lib/netcore50/_._", + "system.diagnostics.process.4.3.0.nupkg.sha512", + "system.diagnostics.process.nuspec" + ] + }, + "System.Diagnostics.Tools/4.0.1": { + "sha512": "qBLMu90KZutXB1Eh6mMypSaAPviDyp+LBkMdZmitUO/RNiT6h9+vau0DxlL3lcL/ufqdmJWi+vqW7KYUy/hs2w==", + "type": "package", + "path": "system.diagnostics.tools/4.0.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Tools.dll", + "ref/netcore50/System.Diagnostics.Tools.xml", + "ref/netcore50/de/System.Diagnostics.Tools.xml", + "ref/netcore50/es/System.Diagnostics.Tools.xml", + "ref/netcore50/fr/System.Diagnostics.Tools.xml", + "ref/netcore50/it/System.Diagnostics.Tools.xml", + "ref/netcore50/ja/System.Diagnostics.Tools.xml", + "ref/netcore50/ko/System.Diagnostics.Tools.xml", + "ref/netcore50/ru/System.Diagnostics.Tools.xml", + "ref/netcore50/zh-hans/System.Diagnostics.Tools.xml", + "ref/netcore50/zh-hant/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/System.Diagnostics.Tools.dll", + "ref/netstandard1.0/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/de/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/es/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/fr/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/it/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ja/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ko/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/ru/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml", + "ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.diagnostics.tools.4.0.1.nupkg.sha512", + "system.diagnostics.tools.nuspec" + ] + }, + "System.Dynamic.Runtime/4.3.0": { + "sha512": "VERv7pT0MsuP047BDJKah7MHp28VKi6doRupnEHOsPZZE88hiUSZDw4SLU+FiUUJHpgGyEwCha2h/Mk5M30w6g==", + "type": "package", + "path": "system.dynamic.runtime/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Dynamic.Runtime.dll", + "lib/netstandard1.3/System.Dynamic.Runtime.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Dynamic.Runtime.dll", + "ref/netcore50/System.Dynamic.Runtime.xml", + "ref/netcore50/de/System.Dynamic.Runtime.xml", + "ref/netcore50/es/System.Dynamic.Runtime.xml", + "ref/netcore50/fr/System.Dynamic.Runtime.xml", + "ref/netcore50/it/System.Dynamic.Runtime.xml", + "ref/netcore50/ja/System.Dynamic.Runtime.xml", + "ref/netcore50/ko/System.Dynamic.Runtime.xml", + "ref/netcore50/ru/System.Dynamic.Runtime.xml", + "ref/netcore50/zh-hans/System.Dynamic.Runtime.xml", + "ref/netcore50/zh-hant/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/System.Dynamic.Runtime.dll", + "ref/netstandard1.0/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/de/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/es/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/fr/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/it/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/ja/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/ko/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/ru/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/zh-hans/System.Dynamic.Runtime.xml", + "ref/netstandard1.0/zh-hant/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/System.Dynamic.Runtime.dll", + "ref/netstandard1.3/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/de/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/es/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/fr/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/it/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/ja/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/ko/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/ru/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/zh-hans/System.Dynamic.Runtime.xml", + "ref/netstandard1.3/zh-hant/System.Dynamic.Runtime.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Dynamic.Runtime.dll", + "system.dynamic.runtime.4.3.0.nupkg.sha512", + "system.dynamic.runtime.nuspec" + ] + }, + "System.Globalization/4.3.0": { + "sha512": "gj0rowjLBztAoxRuzM0Nn9exYVrD+++xb3PYc+QR/YHDvch98gbT3H4vFMnNU6r8poSjVwwlRxKAqtqN6AXs4g==", + "type": "package", + "path": "system.globalization/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/netstandard1.0/System.Globalization.dll", + "ref/netstandard1.0/System.Globalization.xml", + "ref/netstandard1.0/de/System.Globalization.xml", + "ref/netstandard1.0/es/System.Globalization.xml", + "ref/netstandard1.0/fr/System.Globalization.xml", + "ref/netstandard1.0/it/System.Globalization.xml", + "ref/netstandard1.0/ja/System.Globalization.xml", + "ref/netstandard1.0/ko/System.Globalization.xml", + "ref/netstandard1.0/ru/System.Globalization.xml", + "ref/netstandard1.0/zh-hans/System.Globalization.xml", + "ref/netstandard1.0/zh-hant/System.Globalization.xml", + "ref/netstandard1.3/System.Globalization.dll", + "ref/netstandard1.3/System.Globalization.xml", + "ref/netstandard1.3/de/System.Globalization.xml", + "ref/netstandard1.3/es/System.Globalization.xml", + "ref/netstandard1.3/fr/System.Globalization.xml", + "ref/netstandard1.3/it/System.Globalization.xml", + "ref/netstandard1.3/ja/System.Globalization.xml", + "ref/netstandard1.3/ko/System.Globalization.xml", + "ref/netstandard1.3/ru/System.Globalization.xml", + "ref/netstandard1.3/zh-hans/System.Globalization.xml", + "ref/netstandard1.3/zh-hant/System.Globalization.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.globalization.4.3.0.nupkg.sha512", + "system.globalization.nuspec" + ] + }, + "System.IO/4.3.0": { + "sha512": "v8paIePhmGuXZbE9xvvNb4uJ5ME4OFXR1+8la/G/L1GIl2nbU2WFnddgb79kVK3U2us7q1aZT/uY/R0D/ovB5g==", + "type": "package", + "path": "system.io/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.IO.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.IO.dll", + "ref/netcore50/System.IO.dll", + "ref/netcore50/System.IO.xml", + "ref/netcore50/de/System.IO.xml", + "ref/netcore50/es/System.IO.xml", + "ref/netcore50/fr/System.IO.xml", + "ref/netcore50/it/System.IO.xml", + "ref/netcore50/ja/System.IO.xml", + "ref/netcore50/ko/System.IO.xml", + "ref/netcore50/ru/System.IO.xml", + "ref/netcore50/zh-hans/System.IO.xml", + "ref/netcore50/zh-hant/System.IO.xml", + "ref/netstandard1.0/System.IO.dll", + "ref/netstandard1.0/System.IO.xml", + "ref/netstandard1.0/de/System.IO.xml", + "ref/netstandard1.0/es/System.IO.xml", + "ref/netstandard1.0/fr/System.IO.xml", + "ref/netstandard1.0/it/System.IO.xml", + "ref/netstandard1.0/ja/System.IO.xml", + "ref/netstandard1.0/ko/System.IO.xml", + "ref/netstandard1.0/ru/System.IO.xml", + "ref/netstandard1.0/zh-hans/System.IO.xml", + "ref/netstandard1.0/zh-hant/System.IO.xml", + "ref/netstandard1.3/System.IO.dll", + "ref/netstandard1.3/System.IO.xml", + "ref/netstandard1.3/de/System.IO.xml", + "ref/netstandard1.3/es/System.IO.xml", + "ref/netstandard1.3/fr/System.IO.xml", + "ref/netstandard1.3/it/System.IO.xml", + "ref/netstandard1.3/ja/System.IO.xml", + "ref/netstandard1.3/ko/System.IO.xml", + "ref/netstandard1.3/ru/System.IO.xml", + "ref/netstandard1.3/zh-hans/System.IO.xml", + "ref/netstandard1.3/zh-hant/System.IO.xml", + "ref/netstandard1.5/System.IO.dll", + "ref/netstandard1.5/System.IO.xml", + "ref/netstandard1.5/de/System.IO.xml", + "ref/netstandard1.5/es/System.IO.xml", + "ref/netstandard1.5/fr/System.IO.xml", + "ref/netstandard1.5/it/System.IO.xml", + "ref/netstandard1.5/ja/System.IO.xml", + "ref/netstandard1.5/ko/System.IO.xml", + "ref/netstandard1.5/ru/System.IO.xml", + "ref/netstandard1.5/zh-hans/System.IO.xml", + "ref/netstandard1.5/zh-hant/System.IO.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.4.3.0.nupkg.sha512", + "system.io.nuspec" + ] + }, + "System.IO.FileSystem/4.3.0": { + "sha512": "T7WB1vhblSmgkaDpdGM3Uqo55Qsr5sip5eyowrwiXOoHBkzOx3ePd9+Zh97r9NzOwFCxqX7awO6RBxQuao7n7g==", + "type": "package", + "path": "system.io.filesystem/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.dll", + "ref/netstandard1.3/System.IO.FileSystem.dll", + "ref/netstandard1.3/System.IO.FileSystem.xml", + "ref/netstandard1.3/de/System.IO.FileSystem.xml", + "ref/netstandard1.3/es/System.IO.FileSystem.xml", + "ref/netstandard1.3/fr/System.IO.FileSystem.xml", + "ref/netstandard1.3/it/System.IO.FileSystem.xml", + "ref/netstandard1.3/ja/System.IO.FileSystem.xml", + "ref/netstandard1.3/ko/System.IO.FileSystem.xml", + "ref/netstandard1.3/ru/System.IO.FileSystem.xml", + "ref/netstandard1.3/zh-hans/System.IO.FileSystem.xml", + "ref/netstandard1.3/zh-hant/System.IO.FileSystem.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.filesystem.4.3.0.nupkg.sha512", + "system.io.filesystem.nuspec" + ] + }, + "System.IO.FileSystem.Primitives/4.3.0": { + "sha512": "WIWVPQlYLP/Zc9I6IakpBk1y8ryVGK83MtZx//zGKKi2hvHQWKAB7moRQCOz5Is/wNDksiYpocf3FeA3le6e5Q==", + "type": "package", + "path": "system.io.filesystem.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.IO.FileSystem.Primitives.dll", + "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll", + "ref/netstandard1.3/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/de/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/es/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/fr/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/it/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ja/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ko/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/ru/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.io.filesystem.primitives.4.3.0.nupkg.sha512", + "system.io.filesystem.primitives.nuspec" + ] + }, + "System.Linq/4.3.0": { + "sha512": "6sx/4exSb0BfW6DmcfYW0OW+nBgo1UOp4vjGXfQJnWsupKn6LNrk80sXDcNxQvYOJn4TfKOfNQKB7XDS3GIEWA==", + "type": "package", + "path": "system.linq/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Linq.dll", + "lib/netcore50/System.Linq.dll", + "lib/netstandard1.6/System.Linq.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Linq.dll", + "ref/netcore50/System.Linq.dll", + "ref/netcore50/System.Linq.xml", + "ref/netcore50/de/System.Linq.xml", + "ref/netcore50/es/System.Linq.xml", + "ref/netcore50/fr/System.Linq.xml", + "ref/netcore50/it/System.Linq.xml", + "ref/netcore50/ja/System.Linq.xml", + "ref/netcore50/ko/System.Linq.xml", + "ref/netcore50/ru/System.Linq.xml", + "ref/netcore50/zh-hans/System.Linq.xml", + "ref/netcore50/zh-hant/System.Linq.xml", + "ref/netstandard1.0/System.Linq.dll", + "ref/netstandard1.0/System.Linq.xml", + "ref/netstandard1.0/de/System.Linq.xml", + "ref/netstandard1.0/es/System.Linq.xml", + "ref/netstandard1.0/fr/System.Linq.xml", + "ref/netstandard1.0/it/System.Linq.xml", + "ref/netstandard1.0/ja/System.Linq.xml", + "ref/netstandard1.0/ko/System.Linq.xml", + "ref/netstandard1.0/ru/System.Linq.xml", + "ref/netstandard1.0/zh-hans/System.Linq.xml", + "ref/netstandard1.0/zh-hant/System.Linq.xml", + "ref/netstandard1.6/System.Linq.dll", + "ref/netstandard1.6/System.Linq.xml", + "ref/netstandard1.6/de/System.Linq.xml", + "ref/netstandard1.6/es/System.Linq.xml", + "ref/netstandard1.6/fr/System.Linq.xml", + "ref/netstandard1.6/it/System.Linq.xml", + "ref/netstandard1.6/ja/System.Linq.xml", + "ref/netstandard1.6/ko/System.Linq.xml", + "ref/netstandard1.6/ru/System.Linq.xml", + "ref/netstandard1.6/zh-hans/System.Linq.xml", + "ref/netstandard1.6/zh-hant/System.Linq.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.linq.4.3.0.nupkg.sha512", + "system.linq.nuspec" + ] + }, + "System.Linq.Expressions/4.3.0": { + "sha512": "YbkO+a5vd5+8intkg+6PVEnN0FyBsFI19wRH5lanOyqrfDQXhLmZ91MjdHRKcuLDpc0TgA6iNBf6wyzPrlzebQ==", + "type": "package", + "path": "system.linq.expressions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Linq.Expressions.dll", + "lib/netcore50/System.Linq.Expressions.dll", + "lib/netstandard1.6/System.Linq.Expressions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Linq.Expressions.dll", + "ref/netcore50/System.Linq.Expressions.dll", + "ref/netcore50/System.Linq.Expressions.xml", + "ref/netcore50/de/System.Linq.Expressions.xml", + "ref/netcore50/es/System.Linq.Expressions.xml", + "ref/netcore50/fr/System.Linq.Expressions.xml", + "ref/netcore50/it/System.Linq.Expressions.xml", + "ref/netcore50/ja/System.Linq.Expressions.xml", + "ref/netcore50/ko/System.Linq.Expressions.xml", + "ref/netcore50/ru/System.Linq.Expressions.xml", + "ref/netcore50/zh-hans/System.Linq.Expressions.xml", + "ref/netcore50/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.0/System.Linq.Expressions.dll", + "ref/netstandard1.0/System.Linq.Expressions.xml", + "ref/netstandard1.0/de/System.Linq.Expressions.xml", + "ref/netstandard1.0/es/System.Linq.Expressions.xml", + "ref/netstandard1.0/fr/System.Linq.Expressions.xml", + "ref/netstandard1.0/it/System.Linq.Expressions.xml", + "ref/netstandard1.0/ja/System.Linq.Expressions.xml", + "ref/netstandard1.0/ko/System.Linq.Expressions.xml", + "ref/netstandard1.0/ru/System.Linq.Expressions.xml", + "ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.3/System.Linq.Expressions.dll", + "ref/netstandard1.3/System.Linq.Expressions.xml", + "ref/netstandard1.3/de/System.Linq.Expressions.xml", + "ref/netstandard1.3/es/System.Linq.Expressions.xml", + "ref/netstandard1.3/fr/System.Linq.Expressions.xml", + "ref/netstandard1.3/it/System.Linq.Expressions.xml", + "ref/netstandard1.3/ja/System.Linq.Expressions.xml", + "ref/netstandard1.3/ko/System.Linq.Expressions.xml", + "ref/netstandard1.3/ru/System.Linq.Expressions.xml", + "ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml", + "ref/netstandard1.6/System.Linq.Expressions.dll", + "ref/netstandard1.6/System.Linq.Expressions.xml", + "ref/netstandard1.6/de/System.Linq.Expressions.xml", + "ref/netstandard1.6/es/System.Linq.Expressions.xml", + "ref/netstandard1.6/fr/System.Linq.Expressions.xml", + "ref/netstandard1.6/it/System.Linq.Expressions.xml", + "ref/netstandard1.6/ja/System.Linq.Expressions.xml", + "ref/netstandard1.6/ko/System.Linq.Expressions.xml", + "ref/netstandard1.6/ru/System.Linq.Expressions.xml", + "ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml", + "ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Linq.Expressions.dll", + "system.linq.expressions.4.3.0.nupkg.sha512", + "system.linq.expressions.nuspec" + ] + }, + "System.ObjectModel/4.3.0": { + "sha512": "QJvKPSE5vR0APHEUALotteV2u1TVk6pUHsNXbnsgKbYBWascWyxOc4kmexuV682MLwZNxuH1Pmk6rLFzfwZhIw==", + "type": "package", + "path": "system.objectmodel/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.ObjectModel.dll", + "lib/netstandard1.3/System.ObjectModel.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.ObjectModel.dll", + "ref/netcore50/System.ObjectModel.xml", + "ref/netcore50/de/System.ObjectModel.xml", + "ref/netcore50/es/System.ObjectModel.xml", + "ref/netcore50/fr/System.ObjectModel.xml", + "ref/netcore50/it/System.ObjectModel.xml", + "ref/netcore50/ja/System.ObjectModel.xml", + "ref/netcore50/ko/System.ObjectModel.xml", + "ref/netcore50/ru/System.ObjectModel.xml", + "ref/netcore50/zh-hans/System.ObjectModel.xml", + "ref/netcore50/zh-hant/System.ObjectModel.xml", + "ref/netstandard1.0/System.ObjectModel.dll", + "ref/netstandard1.0/System.ObjectModel.xml", + "ref/netstandard1.0/de/System.ObjectModel.xml", + "ref/netstandard1.0/es/System.ObjectModel.xml", + "ref/netstandard1.0/fr/System.ObjectModel.xml", + "ref/netstandard1.0/it/System.ObjectModel.xml", + "ref/netstandard1.0/ja/System.ObjectModel.xml", + "ref/netstandard1.0/ko/System.ObjectModel.xml", + "ref/netstandard1.0/ru/System.ObjectModel.xml", + "ref/netstandard1.0/zh-hans/System.ObjectModel.xml", + "ref/netstandard1.0/zh-hant/System.ObjectModel.xml", + "ref/netstandard1.3/System.ObjectModel.dll", + "ref/netstandard1.3/System.ObjectModel.xml", + "ref/netstandard1.3/de/System.ObjectModel.xml", + "ref/netstandard1.3/es/System.ObjectModel.xml", + "ref/netstandard1.3/fr/System.ObjectModel.xml", + "ref/netstandard1.3/it/System.ObjectModel.xml", + "ref/netstandard1.3/ja/System.ObjectModel.xml", + "ref/netstandard1.3/ko/System.ObjectModel.xml", + "ref/netstandard1.3/ru/System.ObjectModel.xml", + "ref/netstandard1.3/zh-hans/System.ObjectModel.xml", + "ref/netstandard1.3/zh-hant/System.ObjectModel.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.objectmodel.4.3.0.nupkg.sha512", + "system.objectmodel.nuspec" + ] + }, + "System.Reflection/4.3.0": { + "sha512": "IyW2ftYNzgMCgHBk8lQiy+G3+ydbU5tE+6PEqM5JJvIdeFKaXDSzHAPYDREPe6zpr5WJ1Fcma+rAFCIAV6+DMw==", + "type": "package", + "path": "system.reflection/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Reflection.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Reflection.dll", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/netstandard1.0/System.Reflection.dll", + "ref/netstandard1.0/System.Reflection.xml", + "ref/netstandard1.0/de/System.Reflection.xml", + "ref/netstandard1.0/es/System.Reflection.xml", + "ref/netstandard1.0/fr/System.Reflection.xml", + "ref/netstandard1.0/it/System.Reflection.xml", + "ref/netstandard1.0/ja/System.Reflection.xml", + "ref/netstandard1.0/ko/System.Reflection.xml", + "ref/netstandard1.0/ru/System.Reflection.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.xml", + "ref/netstandard1.3/System.Reflection.dll", + "ref/netstandard1.3/System.Reflection.xml", + "ref/netstandard1.3/de/System.Reflection.xml", + "ref/netstandard1.3/es/System.Reflection.xml", + "ref/netstandard1.3/fr/System.Reflection.xml", + "ref/netstandard1.3/it/System.Reflection.xml", + "ref/netstandard1.3/ja/System.Reflection.xml", + "ref/netstandard1.3/ko/System.Reflection.xml", + "ref/netstandard1.3/ru/System.Reflection.xml", + "ref/netstandard1.3/zh-hans/System.Reflection.xml", + "ref/netstandard1.3/zh-hant/System.Reflection.xml", + "ref/netstandard1.5/System.Reflection.dll", + "ref/netstandard1.5/System.Reflection.xml", + "ref/netstandard1.5/de/System.Reflection.xml", + "ref/netstandard1.5/es/System.Reflection.xml", + "ref/netstandard1.5/fr/System.Reflection.xml", + "ref/netstandard1.5/it/System.Reflection.xml", + "ref/netstandard1.5/ja/System.Reflection.xml", + "ref/netstandard1.5/ko/System.Reflection.xml", + "ref/netstandard1.5/ru/System.Reflection.xml", + "ref/netstandard1.5/zh-hans/System.Reflection.xml", + "ref/netstandard1.5/zh-hant/System.Reflection.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.4.3.0.nupkg.sha512", + "system.reflection.nuspec" + ] + }, + "System.Reflection.Emit/4.3.0": { + "sha512": "vkUFFGejarllQQ8RKkdfuBUQpVlTR9HMDEawKOBDajOSGN08Bz8EjC0zi2fcE7RXQikLbEb1WYJQP3So8mmIGA==", + "type": "package", + "path": "system.reflection.emit/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/monotouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.dll", + "lib/netstandard1.3/System.Reflection.Emit.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/net45/_._", + "ref/netstandard1.1/System.Reflection.Emit.dll", + "ref/netstandard1.1/System.Reflection.Emit.xml", + "ref/netstandard1.1/de/System.Reflection.Emit.xml", + "ref/netstandard1.1/es/System.Reflection.Emit.xml", + "ref/netstandard1.1/fr/System.Reflection.Emit.xml", + "ref/netstandard1.1/it/System.Reflection.Emit.xml", + "ref/netstandard1.1/ja/System.Reflection.Emit.xml", + "ref/netstandard1.1/ko/System.Reflection.Emit.xml", + "ref/netstandard1.1/ru/System.Reflection.Emit.xml", + "ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml", + "ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml", + "ref/xamarinmac20/_._", + "system.reflection.emit.4.3.0.nupkg.sha512", + "system.reflection.emit.nuspec" + ] + }, + "System.Reflection.Emit.ILGeneration/4.3.0": { + "sha512": "6b5fYr9ksZR6SYVzNzBqXQmAaGtY1mWYnpQAarBKp+C79NhUPRtX1bs4B5BS8nXzObcwVKc1fk+jVyCKCshdaQ==", + "type": "package", + "path": "system.reflection.emit.ilgeneration/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.ILGeneration.dll", + "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll", + "lib/portable-net45+wp8/_._", + "lib/wp80/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", + "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/de/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/es/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/fr/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/it/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ja/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ko/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/ru/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Emit.ILGeneration.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Emit.ILGeneration.xml", + "ref/portable-net45+wp8/_._", + "ref/wp80/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/_._", + "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512", + "system.reflection.emit.ilgeneration.nuspec" + ] + }, + "System.Reflection.Emit.Lightweight/4.3.0": { + "sha512": "rVivBylr0ISQegifkgJvo4mLdk651qB8lBS1UKg6xgRW8yo0Enwpu5OpYz+we6n9go97QaMdzl/wGafPGrKUNQ==", + "type": "package", + "path": "system.reflection.emit.lightweight/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Emit.Lightweight.dll", + "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll", + "lib/portable-net45+wp8/_._", + "lib/wp80/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll", + "ref/netstandard1.0/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml", + "ref/portable-net45+wp8/_._", + "ref/wp80/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/_._", + "system.reflection.emit.lightweight.4.3.0.nupkg.sha512", + "system.reflection.emit.lightweight.nuspec" + ] + }, + "System.Reflection.Extensions/4.3.0": { + "sha512": "Bs/ZksjX/Zq2QyqwK+mBoBtlWChabiangloGTU78zgjZ5zRPA/oZsDOiRZ1CsLgOjBQAzjm0ehdShpq4glsEdQ==", + "type": "package", + "path": "system.reflection.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Extensions.dll", + "ref/netcore50/System.Reflection.Extensions.xml", + "ref/netcore50/de/System.Reflection.Extensions.xml", + "ref/netcore50/es/System.Reflection.Extensions.xml", + "ref/netcore50/fr/System.Reflection.Extensions.xml", + "ref/netcore50/it/System.Reflection.Extensions.xml", + "ref/netcore50/ja/System.Reflection.Extensions.xml", + "ref/netcore50/ko/System.Reflection.Extensions.xml", + "ref/netcore50/ru/System.Reflection.Extensions.xml", + "ref/netcore50/zh-hans/System.Reflection.Extensions.xml", + "ref/netcore50/zh-hant/System.Reflection.Extensions.xml", + "ref/netstandard1.0/System.Reflection.Extensions.dll", + "ref/netstandard1.0/System.Reflection.Extensions.xml", + "ref/netstandard1.0/de/System.Reflection.Extensions.xml", + "ref/netstandard1.0/es/System.Reflection.Extensions.xml", + "ref/netstandard1.0/fr/System.Reflection.Extensions.xml", + "ref/netstandard1.0/it/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ja/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ko/System.Reflection.Extensions.xml", + "ref/netstandard1.0/ru/System.Reflection.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.extensions.4.3.0.nupkg.sha512", + "system.reflection.extensions.nuspec" + ] + }, + "System.Reflection.Primitives/4.3.0": { + "sha512": "1LnMkF9aXKuQAgYzjoiQaL9mwY7oY6KdaO/zzeLMynNBEqKoUfLi5TiKIewoAF+hkxfGTZsjkjsF1jRL4uSeqg==", + "type": "package", + "path": "system.reflection.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/netcore50/de/System.Reflection.Primitives.xml", + "ref/netcore50/es/System.Reflection.Primitives.xml", + "ref/netcore50/fr/System.Reflection.Primitives.xml", + "ref/netcore50/it/System.Reflection.Primitives.xml", + "ref/netcore50/ja/System.Reflection.Primitives.xml", + "ref/netcore50/ko/System.Reflection.Primitives.xml", + "ref/netcore50/ru/System.Reflection.Primitives.xml", + "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", + "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", + "ref/netstandard1.0/System.Reflection.Primitives.dll", + "ref/netstandard1.0/System.Reflection.Primitives.xml", + "ref/netstandard1.0/de/System.Reflection.Primitives.xml", + "ref/netstandard1.0/es/System.Reflection.Primitives.xml", + "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", + "ref/netstandard1.0/it/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", + "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.reflection.primitives.4.3.0.nupkg.sha512", + "system.reflection.primitives.nuspec" + ] + }, + "System.Reflection.TypeExtensions/4.3.0": { + "sha512": "aK6BpjW5ryrun8j8j+faA1bvTaTrMvgaift1YTuWcU6PGh9MEr0NM177sDQIzHp0QxSDfxNWTV+yYsonIFVnfw==", + "type": "package", + "path": "system.reflection.typeextensions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Reflection.TypeExtensions.dll", + "lib/net462/System.Reflection.TypeExtensions.dll", + "lib/netcore50/System.Reflection.TypeExtensions.dll", + "lib/netstandard1.5/System.Reflection.TypeExtensions.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Reflection.TypeExtensions.dll", + "ref/net462/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.3/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.3/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/de/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/es/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/fr/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/it/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ja/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ko/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/ru/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/zh-hans/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.3/zh-hant/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/System.Reflection.TypeExtensions.dll", + "ref/netstandard1.5/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/de/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/es/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/fr/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/it/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ja/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ko/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/ru/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/zh-hans/System.Reflection.TypeExtensions.xml", + "ref/netstandard1.5/zh-hant/System.Reflection.TypeExtensions.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Reflection.TypeExtensions.dll", + "system.reflection.typeextensions.4.3.0.nupkg.sha512", + "system.reflection.typeextensions.nuspec" + ] + }, + "System.Resources.ResourceManager/4.3.0": { + "sha512": "kGfbKPHEjQj8Uq1Apgj4jBStkRJkZ0Hdr0Jv3+aL7WGrAZVLF5Rh5h0Yc3FgDB5uXDbHiJk/WhBaZPVwKmuB1A==", + "type": "package", + "path": "system.resources.resourcemanager/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/netcore50/de/System.Resources.ResourceManager.xml", + "ref/netcore50/es/System.Resources.ResourceManager.xml", + "ref/netcore50/fr/System.Resources.ResourceManager.xml", + "ref/netcore50/it/System.Resources.ResourceManager.xml", + "ref/netcore50/ja/System.Resources.ResourceManager.xml", + "ref/netcore50/ko/System.Resources.ResourceManager.xml", + "ref/netcore50/ru/System.Resources.ResourceManager.xml", + "ref/netcore50/zh-hans/System.Resources.ResourceManager.xml", + "ref/netcore50/zh-hant/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/System.Resources.ResourceManager.dll", + "ref/netstandard1.0/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/de/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/es/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/fr/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/it/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ja/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ko/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/ru/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml", + "ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.resources.resourcemanager.4.3.0.nupkg.sha512", + "system.resources.resourcemanager.nuspec" + ] + }, + "System.Runtime/4.3.0": { + "sha512": "kqsiSfCAc8+v3Ez719s21lGthxuNi6lhAGmCGH3jdL9KMK+T8V9zsFrzQ/enDL1ISwTWRlcFh2Nq5yFx6wcU+w==", + "type": "package", + "path": "system.runtime/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.dll", + "lib/portable-net45+win8+wp80+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.dll", + "ref/netcore50/System.Runtime.dll", + "ref/netcore50/System.Runtime.xml", + "ref/netcore50/de/System.Runtime.xml", + "ref/netcore50/es/System.Runtime.xml", + "ref/netcore50/fr/System.Runtime.xml", + "ref/netcore50/it/System.Runtime.xml", + "ref/netcore50/ja/System.Runtime.xml", + "ref/netcore50/ko/System.Runtime.xml", + "ref/netcore50/ru/System.Runtime.xml", + "ref/netcore50/zh-hans/System.Runtime.xml", + "ref/netcore50/zh-hant/System.Runtime.xml", + "ref/netstandard1.0/System.Runtime.dll", + "ref/netstandard1.0/System.Runtime.xml", + "ref/netstandard1.0/de/System.Runtime.xml", + "ref/netstandard1.0/es/System.Runtime.xml", + "ref/netstandard1.0/fr/System.Runtime.xml", + "ref/netstandard1.0/it/System.Runtime.xml", + "ref/netstandard1.0/ja/System.Runtime.xml", + "ref/netstandard1.0/ko/System.Runtime.xml", + "ref/netstandard1.0/ru/System.Runtime.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.xml", + "ref/netstandard1.2/System.Runtime.dll", + "ref/netstandard1.2/System.Runtime.xml", + "ref/netstandard1.2/de/System.Runtime.xml", + "ref/netstandard1.2/es/System.Runtime.xml", + "ref/netstandard1.2/fr/System.Runtime.xml", + "ref/netstandard1.2/it/System.Runtime.xml", + "ref/netstandard1.2/ja/System.Runtime.xml", + "ref/netstandard1.2/ko/System.Runtime.xml", + "ref/netstandard1.2/ru/System.Runtime.xml", + "ref/netstandard1.2/zh-hans/System.Runtime.xml", + "ref/netstandard1.2/zh-hant/System.Runtime.xml", + "ref/netstandard1.3/System.Runtime.dll", + "ref/netstandard1.3/System.Runtime.xml", + "ref/netstandard1.3/de/System.Runtime.xml", + "ref/netstandard1.3/es/System.Runtime.xml", + "ref/netstandard1.3/fr/System.Runtime.xml", + "ref/netstandard1.3/it/System.Runtime.xml", + "ref/netstandard1.3/ja/System.Runtime.xml", + "ref/netstandard1.3/ko/System.Runtime.xml", + "ref/netstandard1.3/ru/System.Runtime.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.xml", + "ref/netstandard1.5/System.Runtime.dll", + "ref/netstandard1.5/System.Runtime.xml", + "ref/netstandard1.5/de/System.Runtime.xml", + "ref/netstandard1.5/es/System.Runtime.xml", + "ref/netstandard1.5/fr/System.Runtime.xml", + "ref/netstandard1.5/it/System.Runtime.xml", + "ref/netstandard1.5/ja/System.Runtime.xml", + "ref/netstandard1.5/ko/System.Runtime.xml", + "ref/netstandard1.5/ru/System.Runtime.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.xml", + "ref/portable-net45+win8+wp80+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.4.3.0.nupkg.sha512", + "system.runtime.nuspec" + ] + }, + "System.Runtime.Extensions/4.3.0": { + "sha512": "aAoysZwr1QJvhoeqU4KupPQytPAy+L3imfrLYYxW1XNpre9/fMjmCtgq48EuXdUHckkTY7+ARMd4d4YopmBbvA==", + "type": "package", + "path": "system.runtime.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.Extensions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.xml", + "ref/netcore50/de/System.Runtime.Extensions.xml", + "ref/netcore50/es/System.Runtime.Extensions.xml", + "ref/netcore50/fr/System.Runtime.Extensions.xml", + "ref/netcore50/it/System.Runtime.Extensions.xml", + "ref/netcore50/ja/System.Runtime.Extensions.xml", + "ref/netcore50/ko/System.Runtime.Extensions.xml", + "ref/netcore50/ru/System.Runtime.Extensions.xml", + "ref/netcore50/zh-hans/System.Runtime.Extensions.xml", + "ref/netcore50/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.0/System.Runtime.Extensions.dll", + "ref/netstandard1.0/System.Runtime.Extensions.xml", + "ref/netstandard1.0/de/System.Runtime.Extensions.xml", + "ref/netstandard1.0/es/System.Runtime.Extensions.xml", + "ref/netstandard1.0/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.0/it/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.0/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.3/System.Runtime.Extensions.dll", + "ref/netstandard1.3/System.Runtime.Extensions.xml", + "ref/netstandard1.3/de/System.Runtime.Extensions.xml", + "ref/netstandard1.3/es/System.Runtime.Extensions.xml", + "ref/netstandard1.3/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.3/it/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.3/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml", + "ref/netstandard1.5/System.Runtime.Extensions.dll", + "ref/netstandard1.5/System.Runtime.Extensions.xml", + "ref/netstandard1.5/de/System.Runtime.Extensions.xml", + "ref/netstandard1.5/es/System.Runtime.Extensions.xml", + "ref/netstandard1.5/fr/System.Runtime.Extensions.xml", + "ref/netstandard1.5/it/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ja/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ko/System.Runtime.Extensions.xml", + "ref/netstandard1.5/ru/System.Runtime.Extensions.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.extensions.4.3.0.nupkg.sha512", + "system.runtime.extensions.nuspec" + ] + }, + "System.Runtime.Handles/4.3.0": { + "sha512": "CluvHdVUv54BvLTOCCyybugreDNk/rR8unMPruzXDtxSjvrQOU3M4R831/lQf4YI8VYp668FGQa/01E+Rq8PEQ==", + "type": "package", + "path": "system.runtime.handles/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/_._", + "ref/netstandard1.3/System.Runtime.Handles.dll", + "ref/netstandard1.3/System.Runtime.Handles.xml", + "ref/netstandard1.3/de/System.Runtime.Handles.xml", + "ref/netstandard1.3/es/System.Runtime.Handles.xml", + "ref/netstandard1.3/fr/System.Runtime.Handles.xml", + "ref/netstandard1.3/it/System.Runtime.Handles.xml", + "ref/netstandard1.3/ja/System.Runtime.Handles.xml", + "ref/netstandard1.3/ko/System.Runtime.Handles.xml", + "ref/netstandard1.3/ru/System.Runtime.Handles.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.handles.4.3.0.nupkg.sha512", + "system.runtime.handles.nuspec" + ] + }, + "System.Runtime.InteropServices/4.3.0": { + "sha512": "ZQeZw+ZU77ua1nFXycYM5G8oioFZe+N84qC/XUg1BEBl7z9luZcyjLu7+4H0yJuNfn1hOAiAAZ3u5us/lj9w2Q==", + "type": "package", + "path": "system.runtime.interopservices/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net462/System.Runtime.InteropServices.dll", + "lib/net463/System.Runtime.InteropServices.dll", + "lib/portable-net45+win8+wpa81/_._", + "lib/win8/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net462/System.Runtime.InteropServices.dll", + "ref/net463/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.xml", + "ref/netcore50/de/System.Runtime.InteropServices.xml", + "ref/netcore50/es/System.Runtime.InteropServices.xml", + "ref/netcore50/fr/System.Runtime.InteropServices.xml", + "ref/netcore50/it/System.Runtime.InteropServices.xml", + "ref/netcore50/ja/System.Runtime.InteropServices.xml", + "ref/netcore50/ko/System.Runtime.InteropServices.xml", + "ref/netcore50/ru/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", + "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", + "ref/netcoreapp1.1/System.Runtime.InteropServices.dll", + "ref/netstandard1.1/System.Runtime.InteropServices.dll", + "ref/netstandard1.1/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/System.Runtime.InteropServices.dll", + "ref/netstandard1.2/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/System.Runtime.InteropServices.dll", + "ref/netstandard1.3/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/System.Runtime.InteropServices.dll", + "ref/netstandard1.5/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/de/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/es/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/fr/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/it/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ja/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ko/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/ru/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml", + "ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml", + "ref/portable-net45+win8+wpa81/_._", + "ref/win8/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.runtime.interopservices.4.3.0.nupkg.sha512", + "system.runtime.interopservices.nuspec" + ] + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "sha512": "+mqQrrJsDx5yxIq+wLYKHr6pVc08ETOzJFwE3QvWmEwM4CU5RNKGdqu47bk+HGScaT58ZCVFmjwpp0OBUxy1QA==", + "type": "package", + "path": "system.runtime.serialization.primitives/4.1.1", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net46/System.Runtime.Serialization.Primitives.dll", + "lib/netcore50/System.Runtime.Serialization.Primitives.dll", + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net46/System.Runtime.Serialization.Primitives.dll", + "ref/netcore50/System.Runtime.Serialization.Primitives.dll", + "ref/netcore50/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/de/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/es/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/fr/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/it/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/ja/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/ko/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/ru/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/zh-hans/System.Runtime.Serialization.Primitives.xml", + "ref/netcore50/zh-hant/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/System.Runtime.Serialization.Primitives.dll", + "ref/netstandard1.0/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/de/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/es/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/fr/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/it/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/ja/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/ko/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/ru/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll", + "ref/netstandard1.3/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/de/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/es/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/fr/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/it/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/ja/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/ko/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/ru/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Primitives.xml", + "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Primitives.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Runtime.Serialization.Primitives.dll", + "system.runtime.serialization.primitives.4.1.1.nupkg.sha512", + "system.runtime.serialization.primitives.nuspec" + ] + }, + "System.Security.Cryptography.Primitives/4.3.0": { + "sha512": "WtgnP5mOu5zKL3vQMUPT9tV7XVYGV7Jtb0540DgBD7MMN5ojonwIcw8VybZvS6VloGmE7CRt/Hms8adBsN1DRw==", + "type": "package", + "path": "system.security.cryptography.primitives/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.Primitives.dll", + "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.Primitives.dll", + "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.security.cryptography.primitives.4.3.0.nupkg.sha512", + "system.security.cryptography.primitives.nuspec" + ] + }, + "System.Security.Cryptography.ProtectedData/4.3.0": { + "sha512": "qBUHUk7IqrPHY96THHTa1akCxw0GsNFpsk3XFHbi0A0tMUDBpQprtY1Tbl6yaS1x4c96ilcXU8PocYtmSmkaQQ==", + "type": "package", + "path": "system.security.cryptography.protecteddata/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Security.Cryptography.ProtectedData.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Security.Cryptography.ProtectedData.dll", + "ref/netstandard1.3/System.Security.Cryptography.ProtectedData.dll", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/net46/System.Security.Cryptography.ProtectedData.dll", + "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll", + "system.security.cryptography.protecteddata.4.3.0.nupkg.sha512", + "system.security.cryptography.protecteddata.nuspec" + ] + }, + "System.Text.Encoding/4.3.0": { + "sha512": "b/f+7HMTpxIfeV7H03bkuHKMFylCGfr9/U6gePnfFFW0aF8LOWLDgQCY6V1oWUqDksC3mdNuyChM1vy9TP4sZw==", + "type": "package", + "path": "system.text.encoding/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.dll", + "ref/netcore50/System.Text.Encoding.xml", + "ref/netcore50/de/System.Text.Encoding.xml", + "ref/netcore50/es/System.Text.Encoding.xml", + "ref/netcore50/fr/System.Text.Encoding.xml", + "ref/netcore50/it/System.Text.Encoding.xml", + "ref/netcore50/ja/System.Text.Encoding.xml", + "ref/netcore50/ko/System.Text.Encoding.xml", + "ref/netcore50/ru/System.Text.Encoding.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.xml", + "ref/netstandard1.0/System.Text.Encoding.dll", + "ref/netstandard1.0/System.Text.Encoding.xml", + "ref/netstandard1.0/de/System.Text.Encoding.xml", + "ref/netstandard1.0/es/System.Text.Encoding.xml", + "ref/netstandard1.0/fr/System.Text.Encoding.xml", + "ref/netstandard1.0/it/System.Text.Encoding.xml", + "ref/netstandard1.0/ja/System.Text.Encoding.xml", + "ref/netstandard1.0/ko/System.Text.Encoding.xml", + "ref/netstandard1.0/ru/System.Text.Encoding.xml", + "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", + "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", + "ref/netstandard1.3/System.Text.Encoding.dll", + "ref/netstandard1.3/System.Text.Encoding.xml", + "ref/netstandard1.3/de/System.Text.Encoding.xml", + "ref/netstandard1.3/es/System.Text.Encoding.xml", + "ref/netstandard1.3/fr/System.Text.Encoding.xml", + "ref/netstandard1.3/it/System.Text.Encoding.xml", + "ref/netstandard1.3/ja/System.Text.Encoding.xml", + "ref/netstandard1.3/ko/System.Text.Encoding.xml", + "ref/netstandard1.3/ru/System.Text.Encoding.xml", + "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", + "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.encoding.4.3.0.nupkg.sha512", + "system.text.encoding.nuspec" + ] + }, + "System.Text.Encoding.Extensions/4.3.0": { + "sha512": "5kjF3HgeNc8AxcyOfkLoFbljz4+3iOioF/m1PjGLK0Li96VW6cPGS/L2ov1GFfJqtPDU63E6AVHnHgrz/pw+7Q==", + "type": "package", + "path": "system.text.encoding.extensions/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.Extensions.dll", + "ref/netcore50/System.Text.Encoding.Extensions.xml", + "ref/netcore50/de/System.Text.Encoding.Extensions.xml", + "ref/netcore50/es/System.Text.Encoding.Extensions.xml", + "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", + "ref/netcore50/it/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", + "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/System.Text.Encoding.Extensions.dll", + "ref/netstandard1.0/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/System.Text.Encoding.Extensions.dll", + "ref/netstandard1.3/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.encoding.extensions.4.3.0.nupkg.sha512", + "system.text.encoding.extensions.nuspec" + ] + }, + "System.Text.RegularExpressions/4.1.0": { + "sha512": "m2EgJ+Q8M8wlbgFuC0AFR8WSPpOrbtGkDSuXKSyxihGV+nmrorAWamsRhCoP72aF0xuEg3Xa/99tKs8pevQLvg==", + "type": "package", + "path": "system.text.regularexpressions/4.1.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/net463/System.Text.RegularExpressions.dll", + "lib/netcore50/System.Text.RegularExpressions.dll", + "lib/netstandard1.6/System.Text.RegularExpressions.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/net463/System.Text.RegularExpressions.dll", + "ref/netcore50/System.Text.RegularExpressions.dll", + "ref/netcore50/System.Text.RegularExpressions.xml", + "ref/netcore50/de/System.Text.RegularExpressions.xml", + "ref/netcore50/es/System.Text.RegularExpressions.xml", + "ref/netcore50/fr/System.Text.RegularExpressions.xml", + "ref/netcore50/it/System.Text.RegularExpressions.xml", + "ref/netcore50/ja/System.Text.RegularExpressions.xml", + "ref/netcore50/ko/System.Text.RegularExpressions.xml", + "ref/netcore50/ru/System.Text.RegularExpressions.xml", + "ref/netcore50/zh-hans/System.Text.RegularExpressions.xml", + "ref/netcore50/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/System.Text.RegularExpressions.dll", + "ref/netstandard1.0/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/System.Text.RegularExpressions.dll", + "ref/netstandard1.3/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/System.Text.RegularExpressions.dll", + "ref/netstandard1.6/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/de/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/es/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/fr/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/it/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ja/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ko/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/ru/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml", + "ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.text.regularexpressions.4.1.0.nupkg.sha512", + "system.text.regularexpressions.nuspec" + ] + }, + "System.Threading/4.3.0": { + "sha512": "l6J1G9zmn6r5xU+DSp/Vxgx6eG+qUvQgdpgo28m1gEwfNyG6HqlF6h2ESDXZCYEPnngsmkTQ+q7MyyMMTNlaiA==", + "type": "package", + "path": "system.threading/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Threading.dll", + "lib/netstandard1.3/System.Threading.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.dll", + "ref/netcore50/System.Threading.xml", + "ref/netcore50/de/System.Threading.xml", + "ref/netcore50/es/System.Threading.xml", + "ref/netcore50/fr/System.Threading.xml", + "ref/netcore50/it/System.Threading.xml", + "ref/netcore50/ja/System.Threading.xml", + "ref/netcore50/ko/System.Threading.xml", + "ref/netcore50/ru/System.Threading.xml", + "ref/netcore50/zh-hans/System.Threading.xml", + "ref/netcore50/zh-hant/System.Threading.xml", + "ref/netstandard1.0/System.Threading.dll", + "ref/netstandard1.0/System.Threading.xml", + "ref/netstandard1.0/de/System.Threading.xml", + "ref/netstandard1.0/es/System.Threading.xml", + "ref/netstandard1.0/fr/System.Threading.xml", + "ref/netstandard1.0/it/System.Threading.xml", + "ref/netstandard1.0/ja/System.Threading.xml", + "ref/netstandard1.0/ko/System.Threading.xml", + "ref/netstandard1.0/ru/System.Threading.xml", + "ref/netstandard1.0/zh-hans/System.Threading.xml", + "ref/netstandard1.0/zh-hant/System.Threading.xml", + "ref/netstandard1.3/System.Threading.dll", + "ref/netstandard1.3/System.Threading.xml", + "ref/netstandard1.3/de/System.Threading.xml", + "ref/netstandard1.3/es/System.Threading.xml", + "ref/netstandard1.3/fr/System.Threading.xml", + "ref/netstandard1.3/it/System.Threading.xml", + "ref/netstandard1.3/ja/System.Threading.xml", + "ref/netstandard1.3/ko/System.Threading.xml", + "ref/netstandard1.3/ru/System.Threading.xml", + "ref/netstandard1.3/zh-hans/System.Threading.xml", + "ref/netstandard1.3/zh-hant/System.Threading.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "runtimes/aot/lib/netcore50/System.Threading.dll", + "system.threading.4.3.0.nupkg.sha512", + "system.threading.nuspec" + ] + }, + "System.Threading.Tasks/4.3.0": { + "sha512": "fUiP+CyyCjs872OA8trl6p97qma/da1xGq3h4zAbJZk8zyaU4zyEfqW5vbkP80xG/Nimun1vlWBboMEk7XxdEw==", + "type": "package", + "path": "system.threading.tasks/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Threading.Tasks.dll", + "ref/netcore50/System.Threading.Tasks.xml", + "ref/netcore50/de/System.Threading.Tasks.xml", + "ref/netcore50/es/System.Threading.Tasks.xml", + "ref/netcore50/fr/System.Threading.Tasks.xml", + "ref/netcore50/it/System.Threading.Tasks.xml", + "ref/netcore50/ja/System.Threading.Tasks.xml", + "ref/netcore50/ko/System.Threading.Tasks.xml", + "ref/netcore50/ru/System.Threading.Tasks.xml", + "ref/netcore50/zh-hans/System.Threading.Tasks.xml", + "ref/netcore50/zh-hant/System.Threading.Tasks.xml", + "ref/netstandard1.0/System.Threading.Tasks.dll", + "ref/netstandard1.0/System.Threading.Tasks.xml", + "ref/netstandard1.0/de/System.Threading.Tasks.xml", + "ref/netstandard1.0/es/System.Threading.Tasks.xml", + "ref/netstandard1.0/fr/System.Threading.Tasks.xml", + "ref/netstandard1.0/it/System.Threading.Tasks.xml", + "ref/netstandard1.0/ja/System.Threading.Tasks.xml", + "ref/netstandard1.0/ko/System.Threading.Tasks.xml", + "ref/netstandard1.0/ru/System.Threading.Tasks.xml", + "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", + "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", + "ref/netstandard1.3/System.Threading.Tasks.dll", + "ref/netstandard1.3/System.Threading.Tasks.xml", + "ref/netstandard1.3/de/System.Threading.Tasks.xml", + "ref/netstandard1.3/es/System.Threading.Tasks.xml", + "ref/netstandard1.3/fr/System.Threading.Tasks.xml", + "ref/netstandard1.3/it/System.Threading.Tasks.xml", + "ref/netstandard1.3/ja/System.Threading.Tasks.xml", + "ref/netstandard1.3/ko/System.Threading.Tasks.xml", + "ref/netstandard1.3/ru/System.Threading.Tasks.xml", + "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", + "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.tasks.4.3.0.nupkg.sha512", + "system.threading.tasks.nuspec" + ] + }, + "System.Threading.Tasks.Extensions/4.0.0": { + "sha512": "8pTxpBefU9WfkfAaNyzHiWv4wyLpgnKZyxqjrisfgJ6YA0g09czUyz+hwwc1CC0kT/9lhNq26IcK1Am1XopJhg==", + "type": "package", + "path": "system.threading.tasks.extensions/4.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll", + "lib/netstandard1.0/System.Threading.Tasks.Extensions.xml", + "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll", + "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml", + "system.threading.tasks.extensions.4.0.0.nupkg.sha512", + "system.threading.tasks.extensions.nuspec" + ] + }, + "System.Threading.Thread/4.3.0": { + "sha512": "z+EramDnni9/yneaURFT1bDcrlnqGxFgb2Mn2/izxWXiVR6OytpVjmLdO2hLXJ1nZXUCUEjt+9OYj69/cjWl/g==", + "type": "package", + "path": "system.threading.thread/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Threading.Thread.dll", + "lib/netcore50/_._", + "lib/netstandard1.3/System.Threading.Thread.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Threading.Thread.dll", + "ref/netstandard1.3/System.Threading.Thread.dll", + "ref/netstandard1.3/System.Threading.Thread.xml", + "ref/netstandard1.3/de/System.Threading.Thread.xml", + "ref/netstandard1.3/es/System.Threading.Thread.xml", + "ref/netstandard1.3/fr/System.Threading.Thread.xml", + "ref/netstandard1.3/it/System.Threading.Thread.xml", + "ref/netstandard1.3/ja/System.Threading.Thread.xml", + "ref/netstandard1.3/ko/System.Threading.Thread.xml", + "ref/netstandard1.3/ru/System.Threading.Thread.xml", + "ref/netstandard1.3/zh-hans/System.Threading.Thread.xml", + "ref/netstandard1.3/zh-hant/System.Threading.Thread.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.thread.4.3.0.nupkg.sha512", + "system.threading.thread.nuspec" + ] + }, + "System.Threading.ThreadPool/4.3.0": { + "sha512": "RQpA+UpI6Tlpeedk5JStYk2DM/M3i5HqabI/yDbfj1xDu9bIz9kdoquVpHbh/wQjOJaOCbcgRH8iQcAUv8dRWQ==", + "type": "package", + "path": "system.threading.threadpool/4.3.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net46/System.Threading.ThreadPool.dll", + "lib/netcore50/_._", + "lib/netstandard1.3/System.Threading.ThreadPool.dll", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net46/System.Threading.ThreadPool.dll", + "ref/netstandard1.3/System.Threading.ThreadPool.dll", + "ref/netstandard1.3/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/de/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/es/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/fr/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/it/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/ja/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/ko/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/ru/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/zh-hans/System.Threading.ThreadPool.xml", + "ref/netstandard1.3/zh-hant/System.Threading.ThreadPool.xml", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.threading.threadpool.4.3.0.nupkg.sha512", + "system.threading.threadpool.nuspec" + ] + }, + "System.Xml.ReaderWriter/4.0.11": { + "sha512": "1A1unVXles3wQTK8uK6Kvxq7NINiDN6WnHjGw5Opk2q/dCwdz2Yojm6d/8s5mogO48EVQKwUDLMuILQTZarzXg==", + "type": "package", + "path": "system.xml.readerwriter/4.0.11", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Xml.ReaderWriter.dll", + "lib/netstandard1.3/System.Xml.ReaderWriter.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Xml.ReaderWriter.dll", + "ref/netcore50/System.Xml.ReaderWriter.xml", + "ref/netcore50/de/System.Xml.ReaderWriter.xml", + "ref/netcore50/es/System.Xml.ReaderWriter.xml", + "ref/netcore50/fr/System.Xml.ReaderWriter.xml", + "ref/netcore50/it/System.Xml.ReaderWriter.xml", + "ref/netcore50/ja/System.Xml.ReaderWriter.xml", + "ref/netcore50/ko/System.Xml.ReaderWriter.xml", + "ref/netcore50/ru/System.Xml.ReaderWriter.xml", + "ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/System.Xml.ReaderWriter.dll", + "ref/netstandard1.0/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/de/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/es/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/it/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/System.Xml.ReaderWriter.dll", + "ref/netstandard1.3/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/de/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/es/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/it/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml", + "ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.readerwriter.4.0.11.nupkg.sha512", + "system.xml.readerwriter.nuspec" + ] + }, + "System.Xml.XDocument/4.0.11": { + "sha512": "+K6QKQGWPyY285wGUtgtqp3z+z49WmBJPDn2zwHtB8fVfxdaLSiV9Khy1OklJ+UTFSIhjRpn2i/UkeFiJzqFJw==", + "type": "package", + "path": "system.xml.xdocument/4.0.11", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/MonoAndroid10/_._", + "lib/MonoTouch10/_._", + "lib/net45/_._", + "lib/netcore50/System.Xml.XDocument.dll", + "lib/netstandard1.3/System.Xml.XDocument.dll", + "lib/portable-net45+win8+wp8+wpa81/_._", + "lib/win8/_._", + "lib/wp80/_._", + "lib/wpa81/_._", + "lib/xamarinios10/_._", + "lib/xamarinmac20/_._", + "lib/xamarintvos10/_._", + "lib/xamarinwatchos10/_._", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/net45/_._", + "ref/netcore50/System.Xml.XDocument.dll", + "ref/netcore50/System.Xml.XDocument.xml", + "ref/netcore50/de/System.Xml.XDocument.xml", + "ref/netcore50/es/System.Xml.XDocument.xml", + "ref/netcore50/fr/System.Xml.XDocument.xml", + "ref/netcore50/it/System.Xml.XDocument.xml", + "ref/netcore50/ja/System.Xml.XDocument.xml", + "ref/netcore50/ko/System.Xml.XDocument.xml", + "ref/netcore50/ru/System.Xml.XDocument.xml", + "ref/netcore50/zh-hans/System.Xml.XDocument.xml", + "ref/netcore50/zh-hant/System.Xml.XDocument.xml", + "ref/netstandard1.0/System.Xml.XDocument.dll", + "ref/netstandard1.0/System.Xml.XDocument.xml", + "ref/netstandard1.0/de/System.Xml.XDocument.xml", + "ref/netstandard1.0/es/System.Xml.XDocument.xml", + "ref/netstandard1.0/fr/System.Xml.XDocument.xml", + "ref/netstandard1.0/it/System.Xml.XDocument.xml", + "ref/netstandard1.0/ja/System.Xml.XDocument.xml", + "ref/netstandard1.0/ko/System.Xml.XDocument.xml", + "ref/netstandard1.0/ru/System.Xml.XDocument.xml", + "ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml", + "ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml", + "ref/netstandard1.3/System.Xml.XDocument.dll", + "ref/netstandard1.3/System.Xml.XDocument.xml", + "ref/netstandard1.3/de/System.Xml.XDocument.xml", + "ref/netstandard1.3/es/System.Xml.XDocument.xml", + "ref/netstandard1.3/fr/System.Xml.XDocument.xml", + "ref/netstandard1.3/it/System.Xml.XDocument.xml", + "ref/netstandard1.3/ja/System.Xml.XDocument.xml", + "ref/netstandard1.3/ko/System.Xml.XDocument.xml", + "ref/netstandard1.3/ru/System.Xml.XDocument.xml", + "ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml", + "ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml", + "ref/portable-net45+win8+wp8+wpa81/_._", + "ref/win8/_._", + "ref/wp80/_._", + "ref/wpa81/_._", + "ref/xamarinios10/_._", + "ref/xamarinmac20/_._", + "ref/xamarintvos10/_._", + "ref/xamarinwatchos10/_._", + "system.xml.xdocument.4.0.11.nupkg.sha512", + "system.xml.xdocument.nuspec" + ] + } + }, + "projectFileDependencyGroups": { + ".NETCoreApp,Version=v2.2": [ + "AutoMapper >= 8.1.1", + "Microsoft.NETCore.App >= 2.2.0", + "NuGet.Packaging >= 5.1.0" + ] + }, + "packageFolders": { + "/Users/username/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/Users/username/RiderProjects/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj", + "projectName": "ConsoleApp1", + "projectPath": "/Users/username/RiderProjects/ConsoleApp1/ConsoleApp1/ConsoleApp1.csproj", + "packagesPath": "/Users/username/.nuget/packages/", + "outputPath": "/Users/username/RiderProjects/ConsoleApp1/ConsoleApp1/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/Users/username/.config/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "netcoreapp2.2" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netcoreapp2.2": { + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "netcoreapp2.2": { + "dependencies": { + "AutoMapper": { + "target": "Package", + "version": "[8.1.1, )" + }, + "Microsoft.NETCore.App": { + "suppressParent": "All", + "target": "Package", + "version": "[2.2.0, )", + "autoReferenced": true + }, + "NuGet.Packaging": { + "target": "Package", + "version": "[5.1.0, )" + } + }, + "imports": [ + "net461" + ], + "assetTargetFallback": true, + "warn": true + } + } + } +} \ No newline at end of file