Rebuilding in dotnet for practice
This commit is contained in:
parent
2a2339036e
commit
53ef1763aa
3
.gitignore
vendored
3
.gitignore
vendored
@ -10,6 +10,9 @@
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
appsettings.Development.json
|
||||
appsettings.json
|
||||
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
|
35
.vscode/launch.json
vendored
Normal file
35
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
// Use IntelliSense to find out which attributes exist for C# debugging
|
||||
// Use hover for the description of the existing attributes
|
||||
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
|
||||
"name": ".NET Core Launch (web)",
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "build",
|
||||
// If you have changed target frameworks, make sure to update the program path.
|
||||
"program": "${workspaceFolder}/Newsbot.Collector.Api/bin/Debug/net7.0/Newsbot.Collector.Api.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/Newsbot.Collector.Api",
|
||||
"stopAtEntry": false,
|
||||
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
|
||||
"serverReadyAction": {
|
||||
"action": "openExternally",
|
||||
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
|
||||
},
|
||||
"env": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"sourceFileMap": {
|
||||
"/Views": "${workspaceFolder}/Views"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": ".NET Core Attach",
|
||||
"type": "coreclr",
|
||||
"request": "attach"
|
||||
}
|
||||
]
|
||||
}
|
6
.vscode/settings.json
vendored
Normal file
6
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/obj": true,
|
||||
"**/bin": true
|
||||
}
|
||||
}
|
41
.vscode/tasks.json
vendored
Normal file
41
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "build",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"build",
|
||||
"${workspaceFolder}/Newsbot.Collector.Api/Newsbot.Collector.Api.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "publish",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"publish",
|
||||
"${workspaceFolder}/Newsbot.Collector.Api/Newsbot.Collector.Api.csproj",
|
||||
"/property:GenerateFullPaths=true",
|
||||
"/consoleloggerparameters:NoSummary"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
},
|
||||
{
|
||||
"label": "watch",
|
||||
"command": "dotnet",
|
||||
"type": "process",
|
||||
"args": [
|
||||
"watch",
|
||||
"run",
|
||||
"--project",
|
||||
"${workspaceFolder}/Newsbot.Collector.Api/Newsbot.Collector.Api.csproj"
|
||||
],
|
||||
"problemMatcher": "$msCompile"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Newsbot.Collector.Api.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("[controller]")]
|
||||
public class WeatherForecastController : ControllerBase
|
||||
{
|
||||
private static readonly string[] Summaries = new[]
|
||||
{
|
||||
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
||||
};
|
||||
|
||||
private readonly ILogger<WeatherForecastController> _logger;
|
||||
|
||||
public WeatherForecastController(ILogger<WeatherForecastController> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetWeatherForecast")]
|
||||
public IEnumerable<WeatherForecast> Get()
|
||||
{
|
||||
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
|
||||
{
|
||||
Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
||||
TemperatureC = Random.Shared.Next(-20, 55),
|
||||
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
|
||||
})
|
||||
.ToArray();
|
||||
}
|
||||
}
|
21
Newsbot.Collector.Api/Newsbot.Collector.Api.csproj
Normal file
21
Newsbot.Collector.Api/Newsbot.Collector.Api.csproj
Normal file
@ -0,0 +1,21 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Hangfire.AspNetCore" Version="1.7.33" />
|
||||
<PackageReference Include="Hangfire.MemoryStorage" Version="1.7.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="7.0.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Newsbot.Collector.Domain\Newsbot.Collector.Domain.csproj" />
|
||||
<ProjectReference Include="..\Newsbot.Collector.Services\Newsbot.Collector.Services.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
44
Newsbot.Collector.Api/Program.cs
Normal file
44
Newsbot.Collector.Api/Program.cs
Normal file
@ -0,0 +1,44 @@
|
||||
using Hangfire;
|
||||
using Hangfire.MemoryStorage;
|
||||
using Newsbot.Collector.Services;
|
||||
using Newsbot.Collector.Domain.Models;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
|
||||
// Build the conifg
|
||||
var config = new ConfigurationBuilder()
|
||||
.AddJsonFile("appsettings.json")
|
||||
.AddEnvironmentVariables()
|
||||
.Build();
|
||||
var cfg = config.GetRequiredSection("Config").Get<ConfigModel>();
|
||||
builder.Configuration.AddConfiguration(config);
|
||||
|
||||
builder.Services.AddHangfire(f => f.UseMemoryStorage());
|
||||
builder.Services.AddHangfireServer();
|
||||
|
||||
builder.Services.AddControllers();
|
||||
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
|
||||
builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerGen();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseSwagger();
|
||||
app.UseSwaggerUI();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseHangfireDashboard();
|
||||
//RecurringJob.AddOrUpdate()
|
||||
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapControllers();
|
||||
|
||||
app.Run();
|
41
Newsbot.Collector.Api/Properties/launchSettings.json
Normal file
41
Newsbot.Collector.Api/Properties/launchSettings.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:12777",
|
||||
"sslPort": 44387
|
||||
}
|
||||
},
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"applicationUrl": "http://localhost:5011",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"applicationUrl": "https://localhost:7155;http://localhost:5011",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "swagger",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
12
Newsbot.Collector.Api/WeatherForecast.cs
Normal file
12
Newsbot.Collector.Api/WeatherForecast.cs
Normal file
@ -0,0 +1,12 @@
|
||||
namespace Newsbot.Collector.Api;
|
||||
|
||||
public class WeatherForecast
|
||||
{
|
||||
public DateOnly Date { get; set; }
|
||||
|
||||
public int TemperatureC { get; set; }
|
||||
|
||||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
|
||||
|
||||
public string? Summary { get; set; }
|
||||
}
|
31
Newsbot.Collector.Api/appsettings.template.json
Normal file
31
Newsbot.Collector.Api/appsettings.template.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"Config": {
|
||||
"ServerAddress": "",
|
||||
"SqlConnectionString": "",
|
||||
"Reddit": {
|
||||
"IsEnabled": false,
|
||||
"PullHot": false,
|
||||
"PullNsfw": false,
|
||||
"PullTop": false
|
||||
},
|
||||
"Youtube": {
|
||||
"IsEnabled": false,
|
||||
"Debug": false
|
||||
},
|
||||
"Twitch": {
|
||||
"IsEnabled": false,
|
||||
"ClientID": "",
|
||||
"ClientSecret": ""
|
||||
},
|
||||
"FFXIV": {
|
||||
"IsEnabled": false
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
5
Newsbot.Collector.Domain/Class1.cs
Normal file
5
Newsbot.Collector.Domain/Class1.cs
Normal file
@ -0,0 +1,5 @@
|
||||
namespace Newsbot.Collector.Domain;
|
||||
public class Class1
|
||||
{
|
||||
|
||||
}
|
16
Newsbot.Collector.Domain/Models/Config.cs
Normal file
16
Newsbot.Collector.Domain/Models/Config.cs
Normal file
@ -0,0 +1,16 @@
|
||||
namespace Newsbot.Collector.Domain.Models;
|
||||
|
||||
public class ConfigModel
|
||||
{
|
||||
public string? ServerAddress { get; set; }
|
||||
public string? SqlConnectionString { get; set; }
|
||||
public RedditConfigModel? Reddit { get; set; }
|
||||
}
|
||||
|
||||
public class RedditConfigModel
|
||||
{
|
||||
public bool IsEnabled { get; set; }
|
||||
public bool PullHot { get; set; }
|
||||
public bool PullNsfw { get; set; }
|
||||
public bool PullTop { get; set; }
|
||||
}
|
9
Newsbot.Collector.Domain/Newsbot.Collector.Domain.csproj
Normal file
9
Newsbot.Collector.Domain/Newsbot.Collector.Domain.csproj
Normal file
@ -0,0 +1,9 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
77
Newsbot.Collector.Services/EnvLoader.cs
Normal file
77
Newsbot.Collector.Services/EnvLoader.cs
Normal file
@ -0,0 +1,77 @@
|
||||
using Newsbot.Collector.Domain.Models;
|
||||
|
||||
namespace Newsbot.Collector.Services;
|
||||
|
||||
public static class EnvLoader
|
||||
{
|
||||
|
||||
public static ConfigModel Load()
|
||||
{
|
||||
var reddit = new RedditConfigModel
|
||||
{
|
||||
IsEnabled = Bool("FEATURE_ENABLE_REDDIT_BACKEND"),
|
||||
PullHot = Bool("REDDIT_PULL_HOT"),
|
||||
PullNsfw = Bool("REDDIT_PULL_NSFW"),
|
||||
PullTop = Bool("REDDIT_PULL_TOP")
|
||||
};
|
||||
|
||||
return new ConfigModel
|
||||
{
|
||||
ServerAddress = String("SERVER_ADDRESS"),
|
||||
SqlConnectionString = String("SQL_CONNECTION_STRING"),
|
||||
Reddit = reddit,
|
||||
};
|
||||
}
|
||||
|
||||
public static void LoadEnvFile()
|
||||
{
|
||||
var curDir = Directory.GetCurrentDirectory();
|
||||
var filePath = Path.Combine(curDir, ".env");
|
||||
|
||||
if (!File.Exists(filePath))
|
||||
return;
|
||||
|
||||
foreach (var line in File.ReadAllLines(filePath))
|
||||
{
|
||||
var parts = line.Split('=', StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
if (parts.Length != 2)
|
||||
continue;
|
||||
|
||||
if (parts[1].Contains("'") == true ){
|
||||
parts[1] = parts[1].Replace("'", "");
|
||||
}
|
||||
|
||||
Environment.SetEnvironmentVariable(parts[0], parts[1]);
|
||||
}
|
||||
}
|
||||
|
||||
private static string String(string Key)
|
||||
{
|
||||
var result = Environment.GetEnvironmentVariable(Key);
|
||||
if (result is null)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static bool Bool(string Key)
|
||||
{
|
||||
var result = String(Key);
|
||||
if (result == "")
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (result.ToLower() == "true")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
0
Newsbot.Collector.Services/Jobs/Factory.cs
Normal file
0
Newsbot.Collector.Services/Jobs/Factory.cs
Normal file
18
Newsbot.Collector.Services/Jobs/HelloWorldJob.cs
Normal file
18
Newsbot.Collector.Services/Jobs/HelloWorldJob.cs
Normal file
@ -0,0 +1,18 @@
|
||||
|
||||
namespace Newsbot.Collector.Services.Jobs;
|
||||
|
||||
public class HelloWorldJob
|
||||
{
|
||||
|
||||
public readonly string _message;
|
||||
|
||||
public HelloWorldJob(string message)
|
||||
{
|
||||
_message = message;
|
||||
}
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
Console.WriteLine(_message);
|
||||
}
|
||||
}
|
17
Newsbot.Collector.Services/Newsbot.Collector.Services.csproj
Normal file
17
Newsbot.Collector.Services/Newsbot.Collector.Services.csproj
Normal file
@ -0,0 +1,17 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Newsbot.Collector.Domain\Newsbot.Collector.Domain.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Npgsql" Version="7.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
24
Newsbot.Collector.Tests/Newsbot.Collector.Tests.csproj
Normal file
24
Newsbot.Collector.Tests/Newsbot.Collector.Tests.csproj
Normal file
@ -0,0 +1,24 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
|
||||
<PackageReference Include="xunit" Version="2.4.2" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="coverlet.collector" Version="3.1.2">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
10
Newsbot.Collector.Tests/UnitTest1.cs
Normal file
10
Newsbot.Collector.Tests/UnitTest1.cs
Normal file
@ -0,0 +1,10 @@
|
||||
namespace Newsbot.Collector.Tests;
|
||||
|
||||
public class UnitTest1
|
||||
{
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
1
Newsbot.Collector.Tests/Usings.cs
Normal file
1
Newsbot.Collector.Tests/Usings.cs
Normal file
@ -0,0 +1 @@
|
||||
global using Xunit;
|
40
Newsbot.Collector.sln
Normal file
40
Newsbot.Collector.sln
Normal file
@ -0,0 +1,40 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Api", "Newsbot.Collector.Api\Newsbot.Collector.Api.csproj", "{BDAA344D-0C78-40E5-9C7D-BFAAA8F3FCEB}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Domain", "Newsbot.Collector.Domain\Newsbot.Collector.Domain.csproj", "{BAEF51D8-DB35-4A67-A13A-9DB77525C769}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Services", "Newsbot.Collector.Services\Newsbot.Collector.Services.csproj", "{58D012BB-DAC0-4BF6-AB03-A10F5AE6A1D7}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Newsbot.Collector.Tests", "Newsbot.Collector.Tests\Newsbot.Collector.Tests.csproj", "{B677151F-5E71-4AA9-968A-D2AAB6375DE4}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{BDAA344D-0C78-40E5-9C7D-BFAAA8F3FCEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BDAA344D-0C78-40E5-9C7D-BFAAA8F3FCEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BDAA344D-0C78-40E5-9C7D-BFAAA8F3FCEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BDAA344D-0C78-40E5-9C7D-BFAAA8F3FCEB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{BAEF51D8-DB35-4A67-A13A-9DB77525C769}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{BAEF51D8-DB35-4A67-A13A-9DB77525C769}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{BAEF51D8-DB35-4A67-A13A-9DB77525C769}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{BAEF51D8-DB35-4A67-A13A-9DB77525C769}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{58D012BB-DAC0-4BF6-AB03-A10F5AE6A1D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{58D012BB-DAC0-4BF6-AB03-A10F5AE6A1D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{58D012BB-DAC0-4BF6-AB03-A10F5AE6A1D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{58D012BB-DAC0-4BF6-AB03-A10F5AE6A1D7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{B677151F-5E71-4AA9-968A-D2AAB6375DE4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
Loading…
Reference in New Issue
Block a user