Skip to content

Commit 2eb09bb

Browse files
Partially add NodeServices to Mvc4 sample
1 parent dade0ee commit 2eb09bb

File tree

5 files changed

+370
-72
lines changed

5 files changed

+370
-72
lines changed

src/React.Sample.Mvc4/App_Start/ReactConfig.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77

88
using JavaScriptEngineSwitcher.Core;
99
using JavaScriptEngineSwitcher.V8;
10+
using Jering.Javascript.NodeJS;
11+
using Microsoft.Extensions.DependencyInjection;
12+
using React.NodeServices;
13+
using React.TinyIoC;
1014

1115
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(React.Sample.Mvc4.ReactConfig), "Configure")]
1216

@@ -16,10 +20,15 @@ public static class ReactConfig
1620
{
1721
public static void Configure()
1822
{
23+
var services = new ServiceCollection();
24+
services.AddNodeJS();
25+
ServiceProvider serviceProvider = services.BuildServiceProvider();
26+
1927
ReactSiteConfiguration.Configuration
2028
.SetReuseJavaScriptEngines(true)
2129
.SetAllowJavaScriptPrecompilation(true)
2230
.AddScriptWithoutTransform("~/Content/lib/reactstrap.min.js")
31+
.SetNodeJsEngine(() => NodeJsEngine.CreateEngine(serviceProvider.GetRequiredService<INodeJSService>()))
2332
.SetBabelVersion(BabelVersions.Babel7)
2433
.AddScript("~/Content/Sample.tsx");
2534

src/React.Sample.Mvc4/Global.asax.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
* Copyright (c) Facebook, Inc. and its affiliates.
33
*
44
* This source code is licensed under the MIT license found in the
@@ -8,6 +8,8 @@
88
using System.Web.Mvc;
99
using System.Web.Optimization;
1010
using System.Web.Routing;
11+
using React.NodeServices;
12+
using React.TinyIoC;
1113

1214
namespace React.Sample.Mvc4
1315
{
@@ -21,6 +23,9 @@ protected void Application_Start()
2123
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
2224
RouteConfig.RegisterRoutes(RouteTable.Routes);
2325
BundleConfig.RegisterBundles(BundleTable.Bundles);
26+
27+
TinyIoCContainer.Current.Unregister<IReactEnvironment>();
28+
TinyIoCContainer.Current.Register<IReactEnvironment, ReactWithNodeEnvironment>().AsPerRequestSingleton();
2429
}
2530
}
2631
}

src/React.Sample.Mvc4/React.Sample.Mvc4.csproj

Lines changed: 171 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x86.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x86.props')" />
44
<Import Project="..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props" Condition="Exists('..\packages\JavaScriptEngineSwitcher.V8.Native.win-x64.3.1.0\build\JavaScriptEngineSwitcher.V8.Native.win-x64.props')" />
@@ -56,7 +56,7 @@
5656
<Prefer32Bit>false</Prefer32Bit>
5757
</PropertyGroup>
5858
<ItemGroup>
59-
<Reference Include="AdvancedStringBuilder, Version=0.1.0.0, Culture=neutral, PublicKeyToken=e818a2fc08933ddb, processorArchitecture=MSIL">
59+
<Reference Include="AdvancedStringBuilder, Version=0.1.0.0, Culture=neutral, PublicKeyToken=e818a2fc08933ddb, processorArchitecture=MSIL">
6060
<HintPath>..\packages\AdvancedStringBuilder.0.1.0\lib\net45\AdvancedStringBuilder.dll</HintPath>
6161
</Reference>
6262
<Reference Include="Antlr3.Runtime, Version=3.5.0.2, Culture=neutral, PublicKeyToken=eb42632606e9261f, processorArchitecture=MSIL">
@@ -72,11 +72,170 @@
7272
<Reference Include="JavaScriptEngineSwitcher.V8, Version=3.1.0.0, Culture=neutral, PublicKeyToken=c608b2a8cc9e4472, processorArchitecture=MSIL">
7373
<HintPath>..\packages\JavaScriptEngineSwitcher.V8.3.1.0\lib\net45\JavaScriptEngineSwitcher.V8.dll</HintPath>
7474
</Reference>
75+
<Reference Include="Jering.IocServices.System.Net.Http, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bdee305dc67e1d10, processorArchitecture=MSIL">
76+
<HintPath>..\packages\Jering.IocServices.System.Net.Http.0.4.0\lib\netstandard1.1\Jering.IocServices.System.Net.Http.dll</HintPath>
77+
</Reference>
78+
<Reference Include="Jering.Javascript.NodeJS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3786d24ab42c57d6, processorArchitecture=MSIL">
79+
<HintPath>..\packages\Jering.Javascript.NodeJS.5.3.0\lib\net461\Jering.Javascript.NodeJS.dll</HintPath>
80+
</Reference>
81+
<Reference Include="Microsoft.AspNetCore.Hosting.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
82+
<HintPath>..\packages\Microsoft.AspNetCore.Hosting.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.AspNetCore.Hosting.Abstractions.dll</HintPath>
83+
</Reference>
84+
<Reference Include="Microsoft.AspNetCore.Hosting.Server.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
85+
<HintPath>..\packages\Microsoft.AspNetCore.Hosting.Server.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.AspNetCore.Hosting.Server.Abstractions.dll</HintPath>
86+
</Reference>
87+
<Reference Include="Microsoft.AspNetCore.Http.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
88+
<HintPath>..\packages\Microsoft.AspNetCore.Http.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.Abstractions.dll</HintPath>
89+
</Reference>
90+
<Reference Include="Microsoft.AspNetCore.Http.Features, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
91+
<HintPath>..\packages\Microsoft.AspNetCore.Http.Features.2.1.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.Features.dll</HintPath>
92+
</Reference>
93+
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
94+
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
95+
</Reference>
7596
<Reference Include="Microsoft.CSharp" />
97+
<Reference Include="Microsoft.Extensions.Configuration, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
98+
<HintPath>..\packages\Microsoft.Extensions.Configuration.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
99+
</Reference>
100+
<Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
101+
<HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
102+
</Reference>
103+
<Reference Include="Microsoft.Extensions.Configuration.Binder, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
104+
<HintPath>..\packages\Microsoft.Extensions.Configuration.Binder.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll</HintPath>
105+
</Reference>
106+
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
107+
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.2.1.0\lib\net461\Microsoft.Extensions.DependencyInjection.dll</HintPath>
108+
</Reference>
109+
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
110+
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
111+
</Reference>
112+
<Reference Include="Microsoft.Extensions.FileProviders.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
113+
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.FileProviders.Abstractions.dll</HintPath>
114+
</Reference>
115+
<Reference Include="Microsoft.Extensions.Hosting.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
116+
<HintPath>..\packages\Microsoft.Extensions.Hosting.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Hosting.Abstractions.dll</HintPath>
117+
</Reference>
118+
<Reference Include="Microsoft.Extensions.Logging, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
119+
<HintPath>..\packages\Microsoft.Extensions.Logging.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.dll</HintPath>
120+
</Reference>
121+
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
122+
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
123+
</Reference>
124+
<Reference Include="Microsoft.Extensions.Options, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
125+
<HintPath>..\packages\Microsoft.Extensions.Options.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Options.dll</HintPath>
126+
</Reference>
127+
<Reference Include="Microsoft.Extensions.Primitives, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
128+
<HintPath>..\packages\Microsoft.Extensions.Primitives.2.1.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
129+
</Reference>
130+
<Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
131+
<HintPath>..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll</HintPath>
132+
<Private>True</Private>
133+
<Private>True</Private>
134+
</Reference>
76135
<Reference Include="System" />
136+
<Reference Include="System.AppContext, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
137+
<HintPath>..\packages\System.AppContext.4.3.0\lib\net46\System.AppContext.dll</HintPath>
138+
<Private>True</Private>
139+
<Private>True</Private>
140+
</Reference>
141+
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
142+
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
143+
</Reference>
144+
<Reference Include="System.ComponentModel.Composition" />
145+
<Reference Include="System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
146+
<HintPath>..\packages\System.Console.4.3.0\lib\net46\System.Console.dll</HintPath>
147+
<Private>True</Private>
148+
<Private>True</Private>
149+
</Reference>
77150
<Reference Include="System.Data" />
78151
<Reference Include="System.Data.DataSetExtensions" />
152+
<Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
153+
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.3.0\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
154+
</Reference>
79155
<Reference Include="System.Drawing" />
156+
<Reference Include="System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
157+
<HintPath>..\packages\System.Globalization.Calendars.4.3.0\lib\net46\System.Globalization.Calendars.dll</HintPath>
158+
<Private>True</Private>
159+
<Private>True</Private>
160+
</Reference>
161+
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
162+
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
163+
<Private>True</Private>
164+
<Private>True</Private>
165+
</Reference>
166+
<Reference Include="System.IO.Compression.FileSystem" />
167+
<Reference Include="System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
168+
<HintPath>..\packages\System.IO.Compression.ZipFile.4.3.0\lib\net46\System.IO.Compression.ZipFile.dll</HintPath>
169+
<Private>True</Private>
170+
<Private>True</Private>
171+
</Reference>
172+
<Reference Include="System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
173+
<HintPath>..\packages\System.IO.FileSystem.4.3.0\lib\net46\System.IO.FileSystem.dll</HintPath>
174+
<Private>True</Private>
175+
<Private>True</Private>
176+
</Reference>
177+
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
178+
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.3.0\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
179+
<Private>True</Private>
180+
<Private>True</Private>
181+
</Reference>
182+
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
183+
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
184+
</Reference>
185+
<Reference Include="System.Net.Http, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
186+
<HintPath>..\packages\System.Net.Http.4.3.0\lib\net46\System.Net.Http.dll</HintPath>
187+
<Private>True</Private>
188+
<Private>True</Private>
189+
</Reference>
190+
<Reference Include="System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
191+
<HintPath>..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll</HintPath>
192+
<Private>True</Private>
193+
<Private>True</Private>
194+
</Reference>
195+
<Reference Include="System.Numerics" />
196+
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
197+
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
198+
</Reference>
199+
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
200+
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.6.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
201+
</Reference>
202+
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
203+
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
204+
<Private>True</Private>
205+
<Private>True</Private>
206+
</Reference>
207+
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
208+
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
209+
<Private>True</Private>
210+
<Private>True</Private>
211+
</Reference>
212+
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
213+
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
214+
<Private>True</Private>
215+
<Private>True</Private>
216+
</Reference>
217+
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
218+
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
219+
<Private>True</Private>
220+
<Private>True</Private>
221+
</Reference>
222+
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
223+
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
224+
<Private>True</Private>
225+
<Private>True</Private>
226+
</Reference>
227+
<Reference Include="System.Text.Encodings.Web, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
228+
<HintPath>..\packages\System.Text.Encodings.Web.4.6.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
229+
</Reference>
230+
<Reference Include="System.Text.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
231+
<HintPath>..\packages\System.Text.Json.4.6.0\lib\net461\System.Text.Json.dll</HintPath>
232+
</Reference>
233+
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
234+
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.2\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
235+
</Reference>
236+
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
237+
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
238+
</Reference>
80239
<Reference Include="System.Web.DynamicData" />
81240
<Reference Include="System.Web.Entity" />
82241
<Reference Include="System.Web.ApplicationServices" />
@@ -123,6 +282,11 @@
123282
<HintPath>..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
124283
</Reference>
125284
<Reference Include="System.Xml.Linq" />
285+
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
286+
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
287+
<Private>True</Private>
288+
<Private>True</Private>
289+
</Reference>
126290
<Reference Include="WebActivatorEx, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7b26dc2a43f6a0d4, processorArchitecture=MSIL">
127291
<HintPath>..\packages\WebActivatorEx.2.2.0\lib\net40\WebActivatorEx.dll</HintPath>
128292
<Private>True</Private>
@@ -183,6 +347,10 @@
183347
<Project>{d0cc8a22-cee6-485c-924b-1f94426fea59}</Project>
184348
<Name>React.Core</Name>
185349
</ProjectReference>
350+
<ProjectReference Include="..\React.NodeServices\React.NodeServices.csproj">
351+
<Project>{c8e2f1d7-d3e1-4135-aac1-3b33bb82ed81}</Project>
352+
<Name>React.NodeServices</Name>
353+
</ProjectReference>
186354
<ProjectReference Include="..\React.Web.Mvc4\React.Web.Mvc4.csproj">
187355
<Project>{662d52ac-1ee9-4372-bd74-379f9ac56451}</Project>
188356
<Name>React.Web.Mvc4</Name>
@@ -241,4 +409,4 @@
241409
</Target>
242410
<Target Name="AfterBuild">
243411
</Target> -->
244-
</Project>
412+
</Project>

0 commit comments

Comments
 (0)