main
This commit is contained in:
23
GenerateFileHashJson/GenerateFileHashJson.deps.json
Normal file
23
GenerateFileHashJson/GenerateFileHashJson.deps.json
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"GenerateFileHashJson/1.0.0": {
|
||||
"runtime": {
|
||||
"GenerateFileHashJson.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"GenerateFileHashJson/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
GenerateFileHashJson/GenerateFileHashJson.dll
Normal file
BIN
GenerateFileHashJson/GenerateFileHashJson.dll
Normal file
Binary file not shown.
BIN
GenerateFileHashJson/GenerateFileHashJson.exe
Normal file
BIN
GenerateFileHashJson/GenerateFileHashJson.exe
Normal file
Binary file not shown.
BIN
GenerateFileHashJson/GenerateFileHashJson.pdb
Normal file
BIN
GenerateFileHashJson/GenerateFileHashJson.pdb
Normal file
Binary file not shown.
13
GenerateFileHashJson/GenerateFileHashJson.runtimeconfig.json
Normal file
13
GenerateFileHashJson/GenerateFileHashJson.runtimeconfig.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
GenerateFileHashJson_Project/.vs/GenerateFileHashJson/v17/.suo
Normal file
BIN
GenerateFileHashJson_Project/.vs/GenerateFileHashJson/v17/.suo
Normal file
Binary file not shown.
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\Users\\SJM\\Desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\GenerateFileHashJson_Project\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}|GenerateFileHashJson\\GenerateFileHashJson.csproj|c:\\users\\sjm\\desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\generatefilehashjson_project\\generatefilehashjson\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}|GenerateFileHashJson\\GenerateFileHashJson.csproj|solutionrelative:generatefilehashjson\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\GenerateFileHashJson_Project\\GenerateFileHashJson\\Program.cs",
|
||||
"RelativeDocumentMoniker": "GenerateFileHashJson\\Program.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\GenerateFileHashJson_Project\\GenerateFileHashJson\\Program.cs",
|
||||
"RelativeToolTip": "GenerateFileHashJson\\Program.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-02-27T02:37:21.709Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\Users\\SJM\\Desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\GenerateFileHashJson_Project\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}|GenerateFileHashJson\\GenerateFileHashJson.csproj|c:\\users\\sjm\\desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\generatefilehashjson_project\\generatefilehashjson\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}|GenerateFileHashJson\\GenerateFileHashJson.csproj|solutionrelative:generatefilehashjson\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 1,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\GenerateFileHashJson_Project\\GenerateFileHashJson\\Program.cs",
|
||||
"RelativeDocumentMoniker": "GenerateFileHashJson\\Program.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uD074\uB77C\uC774\uC5B8\uD2B8 \uAE30\uB2A5\\GenerateFileHashJson_Project\\GenerateFileHashJson\\Program.cs",
|
||||
"RelativeToolTip": "GenerateFileHashJson\\Program.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-02-27T02:37:21.709Z",
|
||||
"EditorCaption": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
25
GenerateFileHashJson_Project/GenerateFileHashJson.sln
Normal file
25
GenerateFileHashJson_Project/GenerateFileHashJson.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.13.35806.99 d17.13
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GenerateFileHashJson", "GenerateFileHashJson\GenerateFileHashJson.csproj", "{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4B551F86-ED76-4318-ACC3-BF6BE2C76CCE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {19D91B8C-65DB-4F24-933C-0EEB34CB5AA4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1,10 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<_LastSelectedProfileId>C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\Properties\PublishProfiles\FolderProfile.pubxml</_LastSelectedProfileId>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
66
GenerateFileHashJson_Project/GenerateFileHashJson/Program.cs
Normal file
66
GenerateFileHashJson_Project/GenerateFileHashJson/Program.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text.Json;
|
||||
using System.Collections.Generic;
|
||||
|
||||
class Program
|
||||
{
|
||||
static string buildPath = "Build"; // Unity 빌드 폴더 (예: Build/)
|
||||
static string outputJsonFile = "file_list.json"; // 생성할 JSON 파일
|
||||
|
||||
static void Main()
|
||||
{
|
||||
Console.WriteLine("🔍 Unity 빌드 파일 목록 생성 중...");
|
||||
|
||||
if (!Directory.Exists(buildPath))
|
||||
{
|
||||
Console.WriteLine($"❌ 빌드 폴더가 존재하지 않습니다: {buildPath}");
|
||||
return;
|
||||
}
|
||||
|
||||
Dictionary<string, string> fileHashes = new Dictionary<string, string>();
|
||||
|
||||
foreach (string filePath in Directory.GetFiles(buildPath, "*", SearchOption.AllDirectories))
|
||||
{
|
||||
string relativePath = Path.GetRelativePath(buildPath, filePath).Replace("\\", "/");
|
||||
string hash = GetFileHash(filePath);
|
||||
fileHashes[relativePath] = hash;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 🔒 모든 해시 값을 알파벳 순으로 정렬하고 이어붙인 뒤 전체 SHA256 계산
|
||||
string combinedHashes = string.Join("", new SortedDictionary<string, string>(fileHashes).Values);
|
||||
string versionID = GetVersionID(combinedHashes);
|
||||
|
||||
var jsonObject = new
|
||||
{
|
||||
VersionID = versionID,
|
||||
Files = fileHashes
|
||||
};
|
||||
|
||||
string jsonString = JsonSerializer.Serialize(jsonObject, new JsonSerializerOptions { WriteIndented = true });
|
||||
|
||||
File.WriteAllText(Path.Combine(".", outputJsonFile), jsonString);
|
||||
}
|
||||
|
||||
static string GetFileHash(string filePath)
|
||||
{
|
||||
using (var sha256 = SHA256.Create())
|
||||
using (var stream = File.OpenRead(filePath))
|
||||
{
|
||||
byte[] hashBytes = sha256.ComputeHash(stream);
|
||||
return BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
|
||||
}
|
||||
}
|
||||
static string GetVersionID(string input)
|
||||
{
|
||||
using (var sha256 = SHA256.Create())
|
||||
{
|
||||
byte[] inputBytes = System.Text.Encoding.UTF8.GetBytes(input);
|
||||
byte[] hashBytes = sha256.ComputeHash(inputBytes);
|
||||
return BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Any CPU</Platform>
|
||||
<PublishDir>C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson</PublishDir>
|
||||
<PublishProtocol>FileSystem</PublishProtocol>
|
||||
<_TargetId>Folder</_TargetId>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<SelfContained>false</SelfContained>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- https://go.microsoft.com/fwlink/?LinkID=208121. -->
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<History>True|2025-04-17T05:57:29.6643981Z||;True|2025-04-17T11:30:39.3463309+09:00||;True|2025-04-17T11:28:28.9517407+09:00||;True|2025-04-17T11:27:42.3144789+09:00||;True|2025-04-17T11:27:38.4871940+09:00||;True|2025-02-27T11:43:38.2214313+09:00||;True|2025-02-27T11:41:38.7650872+09:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"GenerateFileHashJson/1.0.0": {
|
||||
"runtime": {
|
||||
"GenerateFileHashJson.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"GenerateFileHashJson/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v8.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v8.0": {
|
||||
"GenerateFileHashJson/1.0.0": {
|
||||
"runtime": {
|
||||
"GenerateFileHashJson.dll": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"GenerateFileHashJson/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net8.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "8.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
// 런타임 버전:4.0.30319.42000
|
||||
//
|
||||
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
// 이러한 변경 내용이 손실됩니다.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("GenerateFileHashJson")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("GenerateFileHashJson")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("GenerateFileHashJson")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// MSBuild WriteCodeFragment 클래스에서 생성되었습니다.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
2c33da5084894e007933dc453c2a861766167a881bec2f49a1feca1cfd539e19
|
||||
@@ -0,0 +1,15 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net8.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = GenerateFileHashJson
|
||||
build_property.ProjectDir = C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
31e2d39300d6822537d13f1a8af6d15cc708576640410bb3025978ceb98f9932
|
||||
@@ -0,0 +1,14 @@
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Debug\net8.0\GenerateFileHashJson.exe
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Debug\net8.0\GenerateFileHashJson.deps.json
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Debug\net8.0\GenerateFileHashJson.runtimeconfig.json
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Debug\net8.0\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Debug\net8.0\GenerateFileHashJson.pdb
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.AssemblyInfoInputs.cache
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.AssemblyInfo.cs
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.csproj.CoreCompileInputs.cache
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\refint\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.pdb
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\GenerateFileHashJson.genruntimeconfig.cache
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Debug\net8.0\ref\GenerateFileHashJson.dll
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
4053d35ad363227ebd09838c9905368834b11e5e2e2bdb0715a09b8d0190c4c2
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj",
|
||||
"projectName": "GenerateFileHashJson",
|
||||
"projectPath": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj",
|
||||
"packagesPath": "C:\\Users\\SJM\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\SJM\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net8.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.200"
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.203/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\SJM\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages;C:\Program Files (x86)\Microsoft\Xamarin\NuGet\</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.13.2</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\SJM\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft\Xamarin\NuGet\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
// 런타임 버전:4.0.30319.42000
|
||||
//
|
||||
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
// 이러한 변경 내용이 손실됩니다.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("GenerateFileHashJson")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("GenerateFileHashJson")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("GenerateFileHashJson")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// MSBuild WriteCodeFragment 클래스에서 생성되었습니다.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ef126c0a4e82decc1bedf8235c0806a01dc1fa8b78566aae677b4c6146c3d02a
|
||||
@@ -0,0 +1,15 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net8.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = GenerateFileHashJson
|
||||
build_property.ProjectDir = C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
774417b228aa4a217d39a143af6dac6382c0b8bd3f98c564255539769bbd41a3
|
||||
@@ -0,0 +1,28 @@
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.exe
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.deps.json
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.runtimeconfig.json
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.pdb
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.AssemblyInfoInputs.cache
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.AssemblyInfo.cs
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.csproj.CoreCompileInputs.cache
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\refint\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.pdb
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.genruntimeconfig.cache
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson\GenerateFileHashJson\obj\Release\net8.0\ref\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.exe
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.deps.json
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.runtimeconfig.json
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\bin\Release\net8.0\GenerateFileHashJson.pdb
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.AssemblyInfoInputs.cache
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.AssemblyInfo.cs
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.csproj.CoreCompileInputs.cache
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\refint\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.pdb
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\GenerateFileHashJson.genruntimeconfig.cache
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson_Project\GenerateFileHashJson\obj\Release\net8.0\ref\GenerateFileHashJson.dll
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
87ee2bcfc9f57ea5bcf8ccffdcad4155dfd23cd9622714cd53f20394d8511786
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson_App\GenerateFileHashJson.exe
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson_App\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson_App\GenerateFileHashJson.deps.json
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson_App\GenerateFileHashJson.runtimeconfig.json
|
||||
C:\Users\SJM\Desktop\GenerateFileHashJson_App\GenerateFileHashJson.pdb
|
||||
@@ -0,0 +1,5 @@
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson\GenerateFileHashJson.exe
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson\GenerateFileHashJson.dll
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson\GenerateFileHashJson.deps.json
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson\GenerateFileHashJson.runtimeconfig.json
|
||||
C:\Users\SJM\Desktop\클라이언트 기능\GenerateFileHashJson\GenerateFileHashJson.pdb
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
"net8.0": {}
|
||||
},
|
||||
"libraries": {},
|
||||
"projectFileDependencyGroups": {
|
||||
"net8.0": []
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\SJM\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {},
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj",
|
||||
"projectName": "GenerateFileHashJson",
|
||||
"projectPath": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj",
|
||||
"packagesPath": "C:\\Users\\SJM\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages",
|
||||
"C:\\Program Files (x86)\\Microsoft\\Xamarin\\NuGet\\"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\SJM\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net8.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"C:\\Program Files\\dotnet\\library-packs": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.200"
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
"targetAlias": "net8.0",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.203/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "5TjlT7i+UkM=",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\SJM\\Desktop\\클라이언트 기능\\GenerateFileHashJson_Project\\GenerateFileHashJson\\GenerateFileHashJson.csproj",
|
||||
"expectedPackageFiles": [],
|
||||
"logs": []
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Launcher_App/.vs/ProgramLauncher/v17/.suo
Normal file
BIN
Launcher_App/.vs/ProgramLauncher/v17/.suo
Normal file
Binary file not shown.
105
Launcher_App/.vs/ProgramLauncher/v17/DocumentLayout.backup.json
Normal file
105
Launcher_App/.vs/ProgramLauncher/v17/DocumentLayout.backup.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|c:\\users\\sjm\\desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\launcher_app\\programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\programlauncher\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\programlauncher\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|ProgramLauncher||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 4,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "ProgramLauncher",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"RelativeToolTip": "ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
||||
"WhenOpened": "2025-04-22T03:09:10.813Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Form1.Designer.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.Designer.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Form1.Designer.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.Designer.cs",
|
||||
"RelativeToolTip": "ProgramLauncher\\Form1.Designer.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAAAVAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T01:32:16.984Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Program.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Program.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Program.cs",
|
||||
"RelativeToolTip": "ProgramLauncher\\Program.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAA9AAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T00:44:05.335Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Form1.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Form1.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs",
|
||||
"RelativeToolTip": "ProgramLauncher\\Form1.cs",
|
||||
"ViewState": "AgIAABIAAAAAAAAAAAAhwBwAAAAWAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T00:43:10.886Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "Form1.cs [\uB514\uC790\uC778]",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Form1.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs [\uB514\uC790\uC778]",
|
||||
"RelativeToolTip": "ProgramLauncher\\Form1.cs [\uB514\uC790\uC778]",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T00:42:49.663Z",
|
||||
"EditorCaption": " [\uB514\uC790\uC778]"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
105
Launcher_App/.vs/ProgramLauncher/v17/DocumentLayout.json
Normal file
105
Launcher_App/.vs/ProgramLauncher/v17/DocumentLayout.json
Normal file
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"Version": 1,
|
||||
"WorkspaceRootPath": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\",
|
||||
"Documents": [
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|c:\\users\\sjm\\desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\launcher_app\\programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\programlauncher\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\programlauncher\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
|
||||
"RelativeMoniker": "D:0:0:{948819DD-0CD3-49B2-91E0-8530D1D0D871}|ProgramLauncher\\ProgramLauncher.csproj|solutionrelative:programlauncher\\form1.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
|
||||
},
|
||||
{
|
||||
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|ProgramLauncher||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
|
||||
}
|
||||
],
|
||||
"DocumentGroupContainers": [
|
||||
{
|
||||
"Orientation": 0,
|
||||
"VerticalTabListWidth": 256,
|
||||
"DocumentGroups": [
|
||||
{
|
||||
"DockedWidth": 200,
|
||||
"SelectedChildIndex": 4,
|
||||
"Children": [
|
||||
{
|
||||
"$type": "Bookmark",
|
||||
"Name": "ST:0:0:{b1e99781-ab81-11d0-b683-00aa00a3ee26}"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 4,
|
||||
"Title": "ProgramLauncher",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"RelativeToolTip": "ProgramLauncher\\ProgramLauncher.csproj",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
|
||||
"WhenOpened": "2025-04-22T03:09:10.813Z"
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 3,
|
||||
"Title": "Form1.Designer.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.Designer.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Form1.Designer.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.Designer.cs",
|
||||
"RelativeToolTip": "ProgramLauncher\\Form1.Designer.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAABwAAAAVAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T01:32:16.984Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 1,
|
||||
"Title": "Program.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Program.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Program.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Program.cs",
|
||||
"RelativeToolTip": "ProgramLauncher\\Program.cs",
|
||||
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAA9AAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T00:44:05.335Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 0,
|
||||
"Title": "Form1.cs",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Form1.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs",
|
||||
"RelativeToolTip": "ProgramLauncher\\Form1.cs",
|
||||
"ViewState": "AgIAABIAAAAAAAAAAAAhwCUAAAAAAAAAAAAAAA==",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T00:43:10.886Z",
|
||||
"EditorCaption": ""
|
||||
},
|
||||
{
|
||||
"$type": "Document",
|
||||
"DocumentIndex": 2,
|
||||
"Title": "Form1.cs [\uB514\uC790\uC778]",
|
||||
"DocumentMoniker": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs",
|
||||
"RelativeDocumentMoniker": "ProgramLauncher\\Form1.cs",
|
||||
"ToolTip": "C:\\Users\\SJM\\Desktop\\\uC5C5\uB370\uC774\uD2B8 \uAE30\uB2A5\\Launcher_App\\ProgramLauncher\\Form1.cs [\uB514\uC790\uC778]",
|
||||
"RelativeToolTip": "ProgramLauncher\\Form1.cs [\uB514\uC790\uC778]",
|
||||
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
|
||||
"WhenOpened": "2025-04-22T00:42:49.663Z",
|
||||
"EditorCaption": " [\uB514\uC790\uC778]"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
25
Launcher_App/ProgramLauncher.sln
Normal file
25
Launcher_App/ProgramLauncher.sln
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.13.35931.197 d17.13
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProgramLauncher", "ProgramLauncher\ProgramLauncher.csproj", "{948819DD-0CD3-49B2-91E0-8530D1D0D871}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{948819DD-0CD3-49B2-91E0-8530D1D0D871}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{948819DD-0CD3-49B2-91E0-8530D1D0D871}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{948819DD-0CD3-49B2-91E0-8530D1D0D871}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{948819DD-0CD3-49B2-91E0-8530D1D0D871}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {64B7D06E-9993-41CA-8700-26089837A736}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -0,0 +1 @@
|
||||
{"RootPath":"C:\\Users\\SJM\\Desktop\\클라이언트 기능\\ProgramLauncher_Project\\ProgramLauncher","ProjectFileName":"ProgramLauncher.csproj","Configuration":"Debug|AnyCPU","FrameworkPath":"","Sources":[{"SourceFile":"Form1.cs"},{"SourceFile":"Form1.Designer.cs"},{"SourceFile":"Program.cs"},{"SourceFile":"Properties\\AssemblyInfo.cs"},{"SourceFile":"Properties\\Resources.Designer.cs"},{"SourceFile":"Properties\\Settings.Designer.cs"},{"SourceFile":"obj\\Debug\\.NETFramework,Version=v4.7.2.AssemblyAttributes.cs"}],"References":[{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\Microsoft.CSharp.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\mscorlib.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Core.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.DataSetExtensions.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Data.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Deployment.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Drawing.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Net.Http.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Windows.Forms.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""},{"Reference":"C:\\Program Files (x86)\\Reference Assemblies\\Microsoft\\Framework\\.NETFramework\\v4.7.2\\System.Xml.Linq.dll","ResolvedFrom":"","OriginalItemSpec":"","Name":"","EmbedInteropTypes":false,"CopyLocal":false,"IsProjectReference":false,"ProjectPath":""}],"Analyzers":[],"Outputs":[{"OutputItemFullPath":"C:\\Users\\SJM\\Desktop\\클라이언트 기능\\ProgramLauncher_Project\\ProgramLauncher\\bin\\Debug\\ProgramLauncher.exe","OutputItemRelativePath":"ProgramLauncher.exe"},{"OutputItemFullPath":"","OutputItemRelativePath":""}],"CopyToOutputEntries":[]}
|
||||
6
Launcher_App/ProgramLauncher/App.config
Normal file
6
Launcher_App/ProgramLauncher/App.config
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
76
Launcher_App/ProgramLauncher/Form1.Designer.cs
generated
Normal file
76
Launcher_App/ProgramLauncher/Form1.Designer.cs
generated
Normal file
@@ -0,0 +1,76 @@
|
||||
namespace ProgramLauncher
|
||||
{
|
||||
partial class Form1
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.Label_UpdateFileName = new System.Windows.Forms.Label();
|
||||
this.Label_ProgressState = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// Label_UpdateFileName
|
||||
//
|
||||
this.Label_UpdateFileName.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.Label_UpdateFileName.AutoSize = true;
|
||||
this.Label_UpdateFileName.Location = new System.Drawing.Point(367, 225);
|
||||
this.Label_UpdateFileName.Name = "Label_UpdateFileName";
|
||||
this.Label_UpdateFileName.Size = new System.Drawing.Size(39, 12);
|
||||
this.Label_UpdateFileName.TabIndex = 1;
|
||||
this.Label_UpdateFileName.Text = "Name";
|
||||
//
|
||||
// Label_ProgressState
|
||||
//
|
||||
this.Label_ProgressState.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.Label_ProgressState.AutoSize = true;
|
||||
this.Label_ProgressState.Location = new System.Drawing.Point(367, 165);
|
||||
this.Label_ProgressState.Name = "Label_ProgressState";
|
||||
this.Label_ProgressState.Size = new System.Drawing.Size(57, 12);
|
||||
this.Label_ProgressState.TabIndex = 2;
|
||||
this.Label_ProgressState.Text = "실행 중...";
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.Label_ProgressState);
|
||||
this.Controls.Add(this.Label_UpdateFileName);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Form1";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label Label_UpdateFileName;
|
||||
private System.Windows.Forms.Label Label_ProgressState;
|
||||
}
|
||||
}
|
||||
|
||||
195
Launcher_App/ProgramLauncher/Form1.cs
Normal file
195
Launcher_App/ProgramLauncher/Form1.cs
Normal file
@@ -0,0 +1,195 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Deployment.Application;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using Newtonsoft.Json;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace ProgramLauncher
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
static string downloadServerUrl = "http://xr.flexing.ai:3030/XR_Server";
|
||||
static string downloadFolderName = "Build";
|
||||
static string jsonFileName = "file_list.json";
|
||||
static string localVersionID = "versionID.txt";
|
||||
|
||||
static readonly HttpClient httpClient = new HttpClient();
|
||||
|
||||
public Form1()
|
||||
{
|
||||
downloadServerUrl = CombineUrl(downloadServerUrl, Program.projectName);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
Label_UpdateFileName.Text = string.Empty;
|
||||
|
||||
await CheckUpdate();
|
||||
}
|
||||
|
||||
private async Task CheckUpdate()
|
||||
{
|
||||
var serverFileList = await GetServerFileList(downloadServerUrl);
|
||||
if (serverFileList == null) return;
|
||||
|
||||
string latestVersionID = serverFileList.VersionID;
|
||||
string localVersionID = GetLocalVersion();
|
||||
|
||||
if (latestVersionID != localVersionID)
|
||||
{
|
||||
Label_ProgressState.Text = "업데이트 중...";
|
||||
|
||||
foreach (var file in serverFileList.Files)
|
||||
{
|
||||
string localFilePath = Path.Combine(downloadFolderName, file.Key);
|
||||
string serverHash = file.Value;
|
||||
|
||||
if (!File.Exists(localFilePath) || GetFileHash(localFilePath) != serverHash)
|
||||
{
|
||||
Label_UpdateFileName.Text = localFilePath;
|
||||
string downloadFolder = CombineUrl(downloadServerUrl, downloadFolderName);
|
||||
await DownloadFile(Path.Combine(downloadFolder, file.Key), localFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
var serverFilePaths = new HashSet<string>(
|
||||
serverFileList.Files.Keys.Select(file => file.Replace('\\', '/')) // 서버의 파일 경로를 통일
|
||||
);
|
||||
|
||||
foreach (string localFile in Directory.GetFiles(downloadFolderName, "*", SearchOption.AllDirectories))
|
||||
{
|
||||
// 현재 파일의 상대 경로를 구함 (localFolder 기준)
|
||||
string relativePath = localFile.Substring(downloadFolderName.Length + 1).Replace('\\', '/');
|
||||
|
||||
if (!serverFilePaths.Contains(relativePath))
|
||||
{
|
||||
File.Delete(localFile);
|
||||
}
|
||||
}
|
||||
|
||||
SaveLocalVersion(latestVersionID);
|
||||
}
|
||||
|
||||
StartExecutableFile(downloadFolderName);
|
||||
this.Close();
|
||||
}
|
||||
|
||||
static async Task<ServerFileList> GetServerFileList(string serverUrl)
|
||||
{
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
try
|
||||
{
|
||||
string serverJsonUrl = CombineUrl(serverUrl, jsonFileName);
|
||||
string json = await client.DownloadStringTaskAsync(serverJsonUrl);
|
||||
return JsonConvert.DeserializeObject<ServerFileList>(json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static string GetLocalVersion()
|
||||
{
|
||||
return File.Exists(localVersionID) ? File.ReadAllText(localVersionID).Trim() : "";
|
||||
}
|
||||
static void SaveLocalVersion(string version)
|
||||
{
|
||||
File.WriteAllText(localVersionID, version);
|
||||
}
|
||||
|
||||
static string GetFileHash(string filePath)
|
||||
{
|
||||
using (var sha256 = SHA256.Create())
|
||||
using (var stream = File.OpenRead(filePath))
|
||||
{
|
||||
byte[] hash = sha256.ComputeHash(stream);
|
||||
return BitConverter.ToString(hash).Replace("-", "").ToLower();
|
||||
}
|
||||
}
|
||||
/*
|
||||
static async Task DownloadFile(string url, string outputPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (WebClient client = new WebClient())
|
||||
{
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath) ?? "");
|
||||
await client.DownloadFileTaskAsync(new Uri(url), outputPath);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
*/
|
||||
static async Task DownloadFile(string url, string outputPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(outputPath) ?? "");
|
||||
|
||||
using (var response = await httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead))
|
||||
{
|
||||
response.EnsureSuccessStatusCode(); // 200 OK가 아닐 경우 예외 발생
|
||||
|
||||
using (var stream = await response.Content.ReadAsStreamAsync())
|
||||
using (var fileStream = new FileStream(outputPath, FileMode.Create, FileAccess.Write, FileShare.None))
|
||||
{
|
||||
await stream.CopyToAsync(fileStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void StartExecutableFile(string executeFolder)
|
||||
{
|
||||
string[] exeFiles = Directory.GetFiles(executeFolder, "*.exe", SearchOption.TopDirectoryOnly);
|
||||
|
||||
if (exeFiles.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string executeFilePath = exeFiles.FirstOrDefault(file => !file.EndsWith("UnityCrashHandler64.exe", StringComparison.OrdinalIgnoreCase));
|
||||
string executeFileName = Path.GetFileName(executeFilePath);
|
||||
|
||||
Process process = new Process();
|
||||
process.StartInfo.UseShellExecute = true;
|
||||
process.StartInfo.WorkingDirectory = executeFolder;
|
||||
process.StartInfo.FileName = executeFileName;
|
||||
process.Start();
|
||||
}
|
||||
|
||||
static string CombineUrl(string baseUrl, string relativePath)
|
||||
{
|
||||
return $"{baseUrl.TrimEnd('/')}/{relativePath.TrimStart('/')}";
|
||||
}
|
||||
}
|
||||
|
||||
class ServerFileList
|
||||
{
|
||||
public string VersionID { get; set; } = "";
|
||||
public Dictionary<string, string> Files { get; set; } = new Dictionary<string, string>();
|
||||
}
|
||||
}
|
||||
|
||||
120
Launcher_App/ProgramLauncher/Form1.resx
Normal file
120
Launcher_App/ProgramLauncher/Form1.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
35
Launcher_App/ProgramLauncher/Program.cs
Normal file
35
Launcher_App/ProgramLauncher/Program.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ProgramLauncher
|
||||
{
|
||||
internal static class Program
|
||||
{
|
||||
public static string projectName = "StudioInstaller";
|
||||
static string mutexName = "UVC_";
|
||||
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
mutexName = mutexName + projectName;
|
||||
|
||||
using (var mutex = new Mutex(true, mutexName, out bool isNewInstance))
|
||||
{
|
||||
if (!isNewInstance)
|
||||
{
|
||||
// 이미 실행 중인 경우
|
||||
MessageBox.Show("이미 프로그램이 실행 중입니다.", "중복 실행 방지", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
return;
|
||||
}
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
93
Launcher_App/ProgramLauncher/ProgramLauncher.csproj
Normal file
93
Launcher_App/ProgramLauncher/ProgramLauncher.csproj
Normal file
@@ -0,0 +1,93 @@
|
||||
<?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>{948819DD-0CD3-49B2-91E0-8530D1D0D871}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>ProgramLauncher</RootNamespace>
|
||||
<AssemblyName>ProgramLauncher</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>none</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>TestIcon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="TestIcon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
||||
33
Launcher_App/ProgramLauncher/Properties/AssemblyInfo.cs
Normal file
33
Launcher_App/ProgramLauncher/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||
// 이러한 특성 값을 변경하세요.
|
||||
[assembly: AssemblyTitle("ProgramLauncher")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("ProgramLauncher")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2025")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||
[assembly: Guid("948819dd-0cd3-49b2-91e0-8530d1d0d871")]
|
||||
|
||||
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||
//
|
||||
// 주 버전
|
||||
// 부 버전
|
||||
// 빌드 번호
|
||||
// 수정 버전
|
||||
//
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
71
Launcher_App/ProgramLauncher/Properties/Resources.Designer.cs
generated
Normal file
71
Launcher_App/ProgramLauncher/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,71 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||
// 런타임 버전:4.0.30319.42000
|
||||
//
|
||||
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||
// 이러한 변경 내용이 손실됩니다.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ProgramLauncher.Properties
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||
/// </summary>
|
||||
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||
// 클래스에서 자동으로 생성되었습니다.
|
||||
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여
|
||||
// ResGen을 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources
|
||||
{
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources()
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((resourceMan == null))
|
||||
{
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ProgramLauncher.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
|
||||
/// 재정의합니다.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture
|
||||
{
|
||||
get
|
||||
{
|
||||
return resourceCulture;
|
||||
}
|
||||
set
|
||||
{
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
117
Launcher_App/ProgramLauncher/Properties/Resources.resx
Normal file
117
Launcher_App/ProgramLauncher/Properties/Resources.resx
Normal file
@@ -0,0 +1,117 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
30
Launcher_App/ProgramLauncher/Properties/Settings.Designer.cs
generated
Normal file
30
Launcher_App/ProgramLauncher/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,30 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ProgramLauncher.Properties
|
||||
{
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
|
||||
{
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default
|
||||
{
|
||||
get
|
||||
{
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
BIN
Launcher_App/ProgramLauncher/TestIcon.ico
Normal file
BIN
Launcher_App/ProgramLauncher/TestIcon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 251 KiB |
BIN
Launcher_App/ProgramLauncher/bin/Debug/Newtonsoft.Json.dll
Normal file
BIN
Launcher_App/ProgramLauncher/bin/Debug/Newtonsoft.Json.dll
Normal file
Binary file not shown.
11363
Launcher_App/ProgramLauncher/bin/Debug/Newtonsoft.Json.xml
Normal file
11363
Launcher_App/ProgramLauncher/bin/Debug/Newtonsoft.Json.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Launcher_App/ProgramLauncher/bin/Debug/ProgramLauncher.exe
Normal file
BIN
Launcher_App/ProgramLauncher/bin/Debug/ProgramLauncher.exe
Normal file
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
BIN
Launcher_App/ProgramLauncher/bin/Debug/ProgramLauncher.pdb
Normal file
BIN
Launcher_App/ProgramLauncher/bin/Debug/ProgramLauncher.pdb
Normal file
Binary file not shown.
BIN
Launcher_App/ProgramLauncher/bin/Release/Newtonsoft.Json.dll
Normal file
BIN
Launcher_App/ProgramLauncher/bin/Release/Newtonsoft.Json.dll
Normal file
Binary file not shown.
11363
Launcher_App/ProgramLauncher/bin/Release/Newtonsoft.Json.xml
Normal file
11363
Launcher_App/ProgramLauncher/bin/Release/Newtonsoft.Json.xml
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Launcher_App/ProgramLauncher/bin/Release/ProgramLauncher.exe
Normal file
BIN
Launcher_App/ProgramLauncher/bin/Release/ProgramLauncher.exe
Normal file
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||
</startup>
|
||||
</configuration>
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user