diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2017-12-07 17:42:02 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2017-12-07 17:42:02 +0200 |
| commit | ab99fb80dfc78c31b1e6cf8d5e4a8458978f4ddc (patch) | |
| tree | f22a07c9ddac03ea1b070d33dc0b4fd84476704b /Software/Visual_Studio/Tango.Scripting | |
| parent | 4cf1e800a5743d1194281703a4bcd6df0a910e8f (diff) | |
| download | Tango-ab99fb80dfc78c31b1e6cf8d5e4a8458978f4ddc.tar.gz Tango-ab99fb80dfc78c31b1e6cf8d5e4a8458978f4ddc.zip | |
Added Tango.Scripting
Stubs.UI scripting works..
Implemented ScriptEditorControl.
Diffstat (limited to 'Software/Visual_Studio/Tango.Scripting')
6 files changed, 334 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Scripting/OnExecuteParameters.cs b/Software/Visual_Studio/Tango.Scripting/OnExecuteParameters.cs new file mode 100644 index 000000000..af66d84a8 --- /dev/null +++ b/Software/Visual_Studio/Tango.Scripting/OnExecuteParameters.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.Scripting +{ + public abstract class OnExecuteParameters + { + + } +} diff --git a/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..ed04ceb0c --- /dev/null +++ b/Software/Visual_Studio/Tango.Scripting/Properties/AssemblyInfo.cs @@ -0,0 +1,6 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("Tango - Roslyn Scripting Components")] +[assembly: ComVisible(false)]
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Scripting/ScriptEngine.cs b/Software/Visual_Studio/Tango.Scripting/ScriptEngine.cs new file mode 100644 index 000000000..7e9bdd6e3 --- /dev/null +++ b/Software/Visual_Studio/Tango.Scripting/ScriptEngine.cs @@ -0,0 +1,73 @@ +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp.Scripting; +using Microsoft.CodeAnalysis.Scripting; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Tango.Scripting +{ + public class ScriptEngine + { + private CancellationTokenSource _cancaller; + private OnExecuteParameters _onExecuteParameters; + public List<Type> ReferencedAssemblies { get; private set; } + + public ScriptEngine(OnExecuteParameters parameters) + { + _onExecuteParameters = parameters; + ReferencedAssemblies = new List<Type>(); + } + + public async Task Run(String code) + { + //My References. + var options = ScriptOptions.Default; + + //External References. + //foreach (var r in item.References) + //{ + // options = options.AddReferences(r.FilePath); + //} + + //My Assemblies. + options = options.AddReferences(typeof(Form).Assembly.Location); + options = options.AddReferences(typeof(Enumerable).Assembly.Location); + options = options.AddReferences(typeof(ScriptEngine).Assembly.Location); + + foreach (var asm in ReferencedAssemblies) + { + options = options.AddReferences(asm.Assembly.Location); + } + + //Imports. + options = options.AddImports( + "System", + "System.Collections.Generic", + "System.Linq", + "System.Text", + "System.Diagnostics", + "System.Windows.Forms" + ); + + String methodParameters = String.Join(", ", _onExecuteParameters.GetType().GetFields(BindingFlags.Public | BindingFlags.Instance).Select(x => x.Name)); + + _cancaller = new CancellationTokenSource(); + await CSharpScript.RunAsync( + code + + Environment.NewLine + + Environment.NewLine + + "await Task.Factory.StartNew(() => { OnExecute(" + methodParameters + "); });", options: options, globals: _onExecuteParameters, cancellationToken: _cancaller.Token); + } + + public void Stop() + { + _cancaller.Cancel(); + } + } +} diff --git a/Software/Visual_Studio/Tango.Scripting/Tango.Scripting.csproj b/Software/Visual_Studio/Tango.Scripting/Tango.Scripting.csproj new file mode 100644 index 000000000..091ef5881 --- /dev/null +++ b/Software/Visual_Studio/Tango.Scripting/Tango.Scripting.csproj @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{401989E7-AE1E-4002-B0EE-9A9F63740B97}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <RootNamespace>Tango.Scripting</RootNamespace> + <AssemblyName>Tango.Scripting</AssemblyName> + <TargetFrameworkVersion>v4.6</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>..\Build\Debug\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="Microsoft.CodeAnalysis, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Common.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.dll</HintPath> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.dll</HintPath> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.CSharp.Scripting, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.CSharp.Scripting.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.CSharp.Scripting.dll</HintPath> + </Reference> + <Reference Include="Microsoft.CodeAnalysis.Scripting, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\packages\Microsoft.CodeAnalysis.Scripting.Common.2.4.0\lib\netstandard1.3\Microsoft.CodeAnalysis.Scripting.dll</HintPath> + </Reference> + <Reference Include="System" /> + <Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Collections.Immutable, Version=1.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Collections.Immutable.1.4.0\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath> + </Reference> + <Reference Include="System.ComponentModel.Composition" /> + <Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath> + </Reference> + <Reference Include="System.Core" /> + <Reference Include="System.Diagnostics.FileVersionInfo, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Diagnostics.FileVersionInfo.4.3.0\lib\net46\System.Diagnostics.FileVersionInfo.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Diagnostics.StackTrace, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Diagnostics.StackTrace.4.3.0\lib\net46\System.Diagnostics.StackTrace.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Numerics" /> + <Reference Include="System.Reflection.Metadata, Version=1.4.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Reflection.Metadata.1.5.0\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath> + </Reference> + <Reference Include="System.Security.Cryptography.Algorithms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net46\System.Security.Cryptography.Algorithms.dll</HintPath> + </Reference> + <Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Security.Cryptography.X509Certificates, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net46\System.Security.Cryptography.X509Certificates.dll</HintPath> + </Reference> + <Reference Include="System.Text.Encoding.CodePages, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Text.Encoding.CodePages.4.4.0\lib\net46\System.Text.Encoding.CodePages.dll</HintPath> + </Reference> + <Reference Include="System.Threading.Thread, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Threading.Thread.4.3.0\lib\net46\System.Threading.Thread.dll</HintPath> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> + <HintPath>..\packages\System.ValueTuple.4.4.0\lib\netstandard1.0\System.ValueTuple.dll</HintPath> + </Reference> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath> + </Reference> + <Reference Include="System.Xml.XmlDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Xml.XmlDocument.4.3.0\lib\net46\System.Xml.XmlDocument.dll</HintPath> + </Reference> + <Reference Include="System.Xml.XPath, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Xml.XPath.4.3.0\lib\net46\System.Xml.XPath.dll</HintPath> + </Reference> + <Reference Include="System.Xml.XPath.XDocument, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> + <HintPath>..\packages\System.Xml.XPath.XDocument.4.3.0\lib\net46\System.Xml.XPath.XDocument.dll</HintPath> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="..\Versioning\GlobalVersionInfo.cs"> + <Link>GlobalVersionInfo.cs</Link> + </Compile> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="ScriptEngine.cs" /> + <Compile Include="OnExecuteParameters.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="packages.config" /> + </ItemGroup> + <ItemGroup> + <Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" /> + <Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +</Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Scripting/app.config b/Software/Visual_Studio/Tango.Scripting/app.config new file mode 100644 index 000000000..8766b29db --- /dev/null +++ b/Software/Visual_Studio/Tango.Scripting/app.config @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.2.2.0" newVersion="1.2.2.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-1.4.2.0" newVersion="1.4.2.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/Tango.Scripting/packages.config b/Software/Visual_Studio/Tango.Scripting/packages.config new file mode 100644 index 000000000..20a9927d5 --- /dev/null +++ b/Software/Visual_Studio/Tango.Scripting/packages.config @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="Microsoft.CodeAnalysis.Analyzers" version="1.1.0" targetFramework="net46" /> + <package id="Microsoft.CodeAnalysis.Common" version="2.4.0" targetFramework="net46" /> + <package id="Microsoft.CodeAnalysis.CSharp" version="2.4.0" targetFramework="net46" /> + <package id="Microsoft.CodeAnalysis.CSharp.Scripting" version="2.4.0" targetFramework="net46" /> + <package id="Microsoft.CodeAnalysis.Scripting" version="2.4.0" targetFramework="net46" /> + <package id="Microsoft.CodeAnalysis.Scripting.Common" version="2.4.0" targetFramework="net46" /> + <package id="System.AppContext" version="4.3.0" targetFramework="net46" /> + <package id="System.Collections" version="4.3.0" targetFramework="net46" /> + <package id="System.Collections.Concurrent" version="4.3.0" targetFramework="net46" /> + <package id="System.Collections.Immutable" version="1.4.0" targetFramework="net46" /> + <package id="System.Console" version="4.3.0" targetFramework="net46" /> + <package id="System.Diagnostics.Debug" version="4.3.0" targetFramework="net46" /> + <package id="System.Diagnostics.FileVersionInfo" version="4.3.0" targetFramework="net46" /> + <package id="System.Diagnostics.StackTrace" version="4.3.0" targetFramework="net46" /> + <package id="System.Diagnostics.Tools" version="4.3.0" targetFramework="net46" /> + <package id="System.Dynamic.Runtime" version="4.3.0" targetFramework="net46" /> + <package id="System.Globalization" version="4.3.0" targetFramework="net46" /> + <package id="System.IO" version="4.3.0" targetFramework="net46" /> + <package id="System.IO.Compression" version="4.3.0" targetFramework="net46" /> + <package id="System.IO.FileSystem" version="4.3.0" targetFramework="net46" /> + <package id="System.IO.FileSystem.Primitives" version="4.3.0" targetFramework="net46" /> + <package id="System.Linq" version="4.3.0" targetFramework="net46" /> + <package id="System.Linq.Expressions" version="4.3.0" targetFramework="net46" /> + <package id="System.Reflection" version="4.3.0" targetFramework="net46" /> + <package id="System.Reflection.Extensions" version="4.3.0" targetFramework="net46" /> + <package id="System.Reflection.Metadata" version="1.5.0" targetFramework="net46" /> + <package id="System.Resources.ResourceManager" version="4.3.0" targetFramework="net46" /> + <package id="System.Runtime" version="4.3.0" targetFramework="net46" /> + <package id="System.Runtime.Extensions" version="4.3.0" targetFramework="net46" /> + <package id="System.Runtime.InteropServices" version="4.3.0" targetFramework="net46" /> + <package id="System.Runtime.Numerics" version="4.3.0" targetFramework="net46" /> + <package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net46" /> + <package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net46" /> + <package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net46" /> + <package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net46" /> + <package id="System.Text.Encoding" version="4.3.0" targetFramework="net46" /> + <package id="System.Text.Encoding.CodePages" version="4.4.0" targetFramework="net46" /> + <package id="System.Text.Encoding.Extensions" version="4.3.0" targetFramework="net46" /> + <package id="System.Threading" version="4.3.0" targetFramework="net46" /> + <package id="System.Threading.Tasks" version="4.3.0" targetFramework="net46" /> + <package id="System.Threading.Tasks.Parallel" version="4.3.0" targetFramework="net46" /> + <package id="System.Threading.Thread" version="4.3.0" targetFramework="net46" /> + <package id="System.ValueTuple" version="4.4.0" targetFramework="net46" /> + <package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net46" /> + <package id="System.Xml.XDocument" version="4.3.0" targetFramework="net46" /> + <package id="System.Xml.XmlDocument" version="4.3.0" targetFramework="net46" /> + <package id="System.Xml.XPath" version="4.3.0" targetFramework="net46" /> + <package id="System.Xml.XPath.XDocument" version="4.3.0" targetFramework="net46" /> +</packages>
\ No newline at end of file |
