반응형

WebView2 사용방법

 

새로운 인터넷 웹뷰2를 사용하려면 패키지를 추가로 설치해주어야함

아래 스샷참고하여 패키지 설치를 먼저한 다음 코드를 작성해주면 됨

 

솔루션 우클릭 후 솔루션용 Nuget 패키지 관리 클릭

 

 

찾아보기 후 Webview 검색한 다음 Microsoft.Web.WebView2 클릭

 

 

webview를 선택한 다음 안정적인 버전 설치를 눌러 패키지 설치를 마침

 

 

 

 

Microsoft.Web.WebView2.Wpf.WebView2 webView = null;

public MainWindow()
{
    InitializeComponent();
    if (webView == null) webViewInit();
}


private void webViewInit()
{
    webView = new Microsoft.Web.WebView2.Wpf.WebView2();
    webView.Loaded += webView_Loaded;
}

private async void webView_Loaded(object sender, RoutedEventArgs e)
{
    webView.Source = new Uri("http://www.naver.com");    
    await webView.EnsureCoreWebView2Async(); //초기화하여 null return 방지
    
    //webView.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;
    //우클릭 방지, 웹뷰 새로 로드하거나 페이지 변경되면 false 풀려서 load할 때마다 추가해줘야됨
}


private void callWebView_Click(object sender, RoutedEventArgs e)
{
    webViewGrid.Children.Add(webView);

}

 

 

webView.CoreWebView2.Settings.AreDefaultContextMenusEnabled = false;

사용한 웹뷰2에서 우클릭 방지를 하고싶다면 ContextMenusEnabled 값을 false로 주면 된다

 

 

<Window x:Class="webView.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:webView"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>
        <Canvas Background="SkyBlue" Grid.Row="0">
            <Button x:Name="callWebView" Click="callWebView_Click" >웹뷰열기</Button>
        </Canvas>
        <Grid  Background="Salmon" Grid.Row="1" x:Name="webViewGrid"></Grid>
    </Grid>
</Window>

 

 

 

참고 : https://learn.microsoft.com/en-us/microsoft-edge/webview2/get-started/winforms

 

Get started with WebView2 in WinForms apps - Microsoft Edge Development

Getting started guide for using WebView2 for WinForms apps.

learn.microsoft.com

 

반응형
반응형

보통은 CP850 인코딩 방식을 사용하므로 영어가 아닌 언어를 사용할때는 그에맞는 방식을 추가해주어야 한다 함

따라서 영어가 아닌 언어를 쓸때는 다른 코드페이지로 변경해주어야한다

 

※코드페이지 란

코드 페이지(code page)는 특정한 문자 인코딩 테이블을 위해 쓰이는 전통적인 IBM 용어이다.
문자 인코딩 테이블 부터 255까지의 정수를 표현하는 단일 옥텟(octet, 바이트)이라고 불리는 일련의 비트들이 특정한 문자와 결합하여 표화(mapping)한 것이다.
IBM과 마이크로소프트는 코드 페이지를 문자열 집합(charset)에 자주 할당한다.

 

437 원래의 IBM PC 코드 페이지
737 그리스어
850 "다중 언어 (라틴 1)" (서양 유럽 언어) 
852 "슬라브어 (라틴 2)" (동유럽 언어) 
855 키릴 자모 알파벳 
857 튀르키예어 
858 "다중 언어" - 유로 기호 
860 포르투갈어 
861 아이슬란드어 
863 프랑스 캐나다어 
865 북유럽어 
862 히브리어 
866 키릴 자모 알파벳 
869 그리스어 
10000 매킨토시 로마어 인코딩 (몇몇의 다른 맥 문자열 세트를 따름) 
10007 매킨토시 키릴 자모 인코딩 
10029 매킨토시 중앙유럽어 인코딩
932 일본어 지원 
936  GBK 중국어 간체자 지원 
949 한국어 지원 
950 중국어 번체자 (대만) 지원 
1200 UCS-2LE 유니코드 little-endian 
1201 UCS-2BE 유니코드 big-endian 
65000 UTF-7 유니코드 
65001 UTF-8 유니코드 
ASMO449+ 아랍어 지원 
MIK 불가리아어, 러시아어 지원

 

 

한글 utf-8 인코딩 방식 기준으로 65001로 변경하여 사용

 

chcp 65001

 

 

 

 

참고 : https://ss64.com/nt/chcp.html

 

CHCP - Change Code Page - Windows CMD - SS64.com

Change the active console Code Page. The default code page is determined by the Windows Locale. This command is rarely required as most GUI programs and PowerShell now support Unicode. When working with characters outside the ASCII range of 0-127, such as

ss64.com

https://stackoverflow.com/questions/1427796/batch-file-encoding

 

Batch file encoding

I would like to deal with filename containing strange characters, like the French é. Everything is working fine in the shell: C:\somedir\>ren -hélice hélice I know if I put this line in a .ba...

stackoverflow.com

https://ss64.com/nt/chcp.html

 

CHCP - Change Code Page - Windows CMD - SS64.com

Change the active console Code Page. The default code page is determined by the Windows Locale. This command is rarely required as most GUI programs and PowerShell now support Unicode. When working with characters outside the ASCII range of 0-127, such as

ss64.com

 

반응형
반응형

 

 

윈도우에 저장된 폰트 목록이 필요해서 찾아본 방법 기록

 

 

 

윈도우 10 기준, 폰트가 저장되는 폴더 위치 C:\Windows\Fonts

 

위의 폴더를 방문해보면

한글(hwp)에서 사용할수있는 폰트 목록을 확인할수있다

 

 

아래는 C#을 이용하여 윈도우에 설치된 폰트 목록을 가져오고

그걸 텍스트 파일로 출력하는 방법

 

cs

using System.Drawing.Text; //InstalledFontCollection
using System.IO; //StreamWriter
using System.Windows;


 private void getFont2_Click(object sender, RoutedEventArgs e)
 {
 	getFontList();
 }

public void getFontList()
{
	string installedFont = "";

	using (InstalledFontCollection col = new InstalledFontCollection())
	{
		foreach (System.Drawing.FontFamily fa in col.Families)
		{
			// 출력 형태 - 폰트 명 : [FontFamily: Name=HY얕은샘물M]
			//installedFont += "폰트 명 : " + fa + "\n";

			// 출력 형태 - 폰트 명 : HY얕은샘물M
			installedFont += "폰트 명 : " + fa.Name + "\n";
		}
	}

	// 폰트 목록을 저장할 폴더 위치
	string docPath = @"D:\kay\";

	// 위의 docPath에 저장될 폰트 리스트 파일 명 installedFont.txt
	using (StreamWriter outputFile = new StreamWriter(System.IO.Path.Combine(docPath, "installedFont.txt")))
	{		
		outputFile.WriteLine(installedFont);
	}
}

xaml

<StackPanel Grid.Row="4" Grid.Column="4">	
	<Button x:Name="getFont2" Click="getFont2_Click">폰트 가져오기</Button>
</StackPanel>

 

 

폰트를 가져오는 방법은 InstalledFontCollection 클래스를 사용했다

StreamWriter텍스트 파일을 저장할 때 사용

 

위의 방법이 설치된 폰트를 다 가져오는지 테스트해보려고 폰트 목록을 텍스트 파일로 저장했음

 

 

 

 

 



참고 : https://www.c-sharpcorner.com/UploadFile/iersoy/get-all-installed-fonts-in-C-Sharp/

 


https://docs.microsoft.com/ko-kr/dotnet/desktop/winforms/advanced/how-to-enumerate-installed-fonts?view=netframeworkdesktop-4.8 

 

방법: 설치된 글꼴 열거 - Windows Forms .NET Framework

방법: 설치된 글꼴 열거 이 문서의 내용 --> InstalledFontCollection클래스는 FontCollection 추상 기본 클래스에서 상속됩니다. 사용할 수는 InstalledFontCollection 컴퓨터에 설치 된 글꼴을 열거 하는 개체입니

docs.microsoft.com

 

반응형
반응형

 

 

 

파싱해온 문자열에 double형 값이 4개가 들어있는데

콤마로 이루어진 문자열에서 각각의 숫자를 꺼내보고 싶어 찾아본 방법

 

※콤마 뿐 아니라 공백, 특정 단어를 사용하여 파싱하는 방법도 함께 기록해봄

 

C# 문자열 파싱

 

과정

1. 특정 문자를 이용한 문자열 자르기

2. 배열에 잘라둔 문자열 넣기

3. 필요한 위치의 문자 형변환

 

 

 

 

아래 예시코드는 공백을 기준으로 숫자(처럼 보이지만 문자열임)를 잘라낼수있다

string textBuff = "-1.123    4.234  34.12  126.4  99      22";

double[] result = textBuff
    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(s => double.Parse(s))
    .ToArray();

double x = result[0];
//    ...
double k = result[5];

 

람다 함수가 낯설다면 아래의 방법을 사용하자

 

근데 람다를 이용한 방법이 메모리 효율을 엄청 늘려준다고 하니

람다를 익혀서 위의 방식을 사용하는게 훨씬 이득일듯

 

string textBuff = "-1.123    4.234  34.12  126.4  99      22";

string[] result = textBuff.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

double x = double.Parse(result[0]);
//    ...
double k = double.Parse(result[5]);

 

 

만약 파싱하려는 문자열이 콤마 , (comma) 를 기준으로 나열되어 있다면

Split 함수의 ' ' 부분을 ','로 바꾸어 사용하면 된다

 

 

나의 경우는 마진 값을 string으로 받아져서 콤마를 기준으로 Top 값을 갖고오기 위해 문자열을 잘라보았다

Marin은 left, top, right, bottom 이므로

여기서 내가 추출해야할 Top은 2번째 값이라 MarginResult[1] 값을 형변환 해주면 끝

 

//Margin = (10,50,0,100)
string MarginStr = Margin.ToString();
string[] MarginResult = MarginStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

 

 

문자열에서 가져온 숫자를 int형으로 바꾸어 사용하고 싶다면

//double x = double.Parse(result[0]);

int x = int.Parse(result[0]);

위의 형태로 선언하면 된다

 

 

 

 

참고 :

문자열 파싱

https://stackoverflow.com/questions/1406129/parse-multiple-doubles-from-string-in-c-sharp

 

Parse multiple doubles from string in C#

I have a string that contains a known number of double values. What's the cleanest way (via C#) to parse the string and plug the results into matching scalar variables. Basically, I want to do the

stackoverflow.com

 

들여쓰기(tab 키) 기준 파싱

https://stackoverflow.com/questions/12384905/string-split-function-in-c-sharp-tab-delimiter

 

string.Split function in c# tab delimiter

I have a function which reads a delimited file. The delimiter is passed to the function by string argument. The problem is, when I pass the "\t" delimiter, it ends up like "\\t" and therefore, Sp...

stackoverflow.com

 

 

반응형
반응형

 

 

 

빌드 환경 : Visual Studio 2019

 

(끔찍)

 

 

WPF 예제를 돌려보려던 차에 발견한 오류

 

원문은 다음과 같다

 

현재 .NET SDK에서는 .NET 6.0을(를) 대상으로 하는 것을 지원하지 않습니다. .NET 5.0 이하를 대상으로 하거나 .NET 6.0을(를) 지원하는 .NET SDK 버전을 사용하세요.

 

이 문구를 조금 잘라서 구글링을 해보면

바로 마이크로소프트에서 해결하는 법을 안내해준다

 

MS에서 맞닥뜨린 문구의 기본형은 다음과 같다

NETSDK1045: 현재 .NET SDK는 대상으로 ‘최신 버전’을 지원하지 않습니다. ‘이전 버전’ 이하를 대상으로 하거나 ‘최신 버전’을 지원하는 .NET SDK 버전을 사용합니다.

 

= .net 버전차이로 인한 오류일 확률이 높다

 


이러한 문제를 해결하기 위해 찾아보아야 할 것

 

1. .net SDK 버전

- 프로젝트 파일(.csproj, .vbproj 또는 .fsproj)을 열고 대상 프레임워크를 확인

 

2. 미리보기가 사용되지 않음

- 도구 > 옵션 > 환경 > 미리보기 기능으로 이동 후 .NET Core SDK 미리보기 사용이 선택되어 있는지 확인

 

3. Visual Studio 버전

- .NET Core 3.0 이상은 Visual Studio 2019 버전이 필요하며

프로젝트 빌드를 위해서는 2019의 16.3 이상 버전이 필요하다

 

4. PATH 환경변수

 

5. MSBuildSDKPath 환경변수

 

6. global.json 파일

- 프로젝트 루트 폴더에 있는 global.json 파일에 지정된 SDK 버전이 있는지 확인 후,

필요한 .NET Core 버전을 설치한다

 

7. Directory.build.props 파일


 

 

 

나의 경우는 웬만하면 1번/6번 또는 3번에서 해결이 되긴 함

 

그렇기도하고 오류자체도 .net 버전에 관련된 것이어서 1번부터 시행해봄

 

 

.net SDK 버전 확인하기

 

프로젝트의 타겟 프레임워크 확인 시

<TargetFramework>netcoreapp3.0</TargetFramework>

위와 비슷한 형태로 찾을수있다

 

 

1번박스의 2번 박스를 우클릭하여 속성을 누른다

 

?

있어야할곳이 비어있다

 

 

그래서 6번의 global.json을 찾아봄

global.json은 WPF-Samples-main 폴더 아래에 바로 있다

 

 

{
  "sdk": {
    "version": "6.0.100-rc.1.21368.3",
    "rollForward": "latestFeature"
  },
  "altsdk": {
    "netcoreapp3.1": "3.1.300",
    "net6.0-windows": "6.0.100-rc.1.21368.3"
  }
}

 

파일을 열어보면 sdk 버전이 6.0 이상인것을 확인할수있다

= 즉 이 WPF sample 솔루션을 돌려보려면 .net 6.0 이상이 설치되어 있어야한다는것

 

 

 

 

 

[C#] .net sdk 설치 유무 및 버전 확인 하는법

기존 예제들을 빌드해볼때마다 가끔 만나는 오류 NETSDK1045: 현재 .NET SDK는 대상으로 ‘최신 버전’을 지원하지 않습니다. ‘이전 버전’ 이하를 대상으로 하거나 ‘최신 버전’을 지원하는 .NET SD

studyingpingu.tistory.com

 

닷넷 설치 유무나 런타임 버전확인은 위 포스팅 참고하거나

dotnet --list-sdks

위의 명령어를 CMD창에 입력해보면 되겠다

 

 

 

그렇게 찾아봤더니 내 PC에 6.0이 설치가 안되어있어 오류가 발생한것같았다

 

그래서 설치해본 .net 6.0

 

 

.net 버전들은 아래의 주소에서 내려받기가 가능하다

 

 

.NET Downloads (Linux, macOS, and Windows)

Official .NET downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of applications.

dotnet.microsoft.com

 

 

 

 

 

 

 

다운로드가 끝나고 난 뒤 프로젝트를 오픈하고 빌드해보면 굉장히 잘 돌아가는것을 알수있다

 

 

 

 

 

참고 :

 

 

https://docs.microsoft.com/ko-kr/dotnet/core/tools/sdk-errors/netsdk1045

 

NETSDK1045: 현재 .NET SDK는 대상으로 ‘최신 버전’을 지원하지 않습니다. - .NET CLI

빌드 도구가 요청된 .NET SDK 버전을 찾을 수 없을 때 발생하는 .NET SDK 오류 NETSDK1045에 관해 알아봅니다.

docs.microsoft.com

 

반응형
반응형

 

기존 예제들을 빌드해볼때마다 가끔 만나는 오류

 

NETSDK1045: 현재 .NET SDK는 대상으로 ‘최신 버전’을 지원하지 않습니다. ‘이전 버전’ 이하를 대상으로 하거나 ‘최신 버전’을 지원하는 .NET SDK 버전을 사용합니다.

 

 

위 오류를 해결하기 위해 .net sdk 버전이나 설치 유무를 확인할 수 있는 방법을 기록해봄

 

 

 

PC에 설치된 .net 버전을 확인하는 방법은 다음과 같다

dotnet --list-sdks

위의 명령어를 cmd에 입력해보면 됨

 

 

추가로 PC에 설치된 런타임을 조회하는 방법

dotnet --list-runtimes

 

 

 

 

SDK와 닷넷 런타임 버전을 포함하여 OS, 런타임식별자(RID) 등의 환경 정보를

한번에 확인하는 방법도 있다

 

dotnet --info

 

 

반응형
반응형

 

 

 

 

[리뷰] C#린이, 기본 참고서로 시작하세요 C# 프로그래밍 읽어봄

wpf, uwp를 c#과 xaml을 사용해서 만들어 본적은 있으나 사실 C# 기본적인 문법에 관해서는 많이 부족한 편이었다 기존에는 기능을 구현하기 위해 스택오버플로우의 글들을 많이 참고를 했으나 사실

studyingpingu.tistory.com

 

 

시작하세요 C# 프로그래밍 챕터 3장 C# 기초 정리한 내용

 

 

 

 

닷넷 변수 종류 (크게 2가지로 나뉨)

- 값 형식 (Value Type)의 변수, 참조 형식(Reference Type)의 변수

 

값/참조 형식의 차이를 이해하기 위해서는 스택(Stack)과 힙(Heap)의 이해가 필요하다

 


 

윈도우 프로그램은 기본적으로 하나의 스레드를 갖는다

그리고, 개별 스레드마다 전용으로 사용할 수 있는 저장소가 메모리에 할당되는데,

이러한 영역을 스택이라고 한다

 

반대로, 힙은 프로그램에 필요에 의해, 메모리를 요청할 때 사용할 수 있는 저장소

닷넷에서는 CLR(Common Language Runtime)이 직접 힙을 관리한다

 

 

메모리를 사용한 후에는, 더이상 사용하지않는 다는 표현이 필요한데, 할당만 받고 해제를 하지않으면

메모리에 빈자리가 없어 프로그램 실행 중 오류가 발생하게 되기 때문이다

 

 

개발자가 스택에 변수를 선언하는 것 만으로, 스택 내의 특정 메모리 영역을 사용할 수 있게

C# 컴파일러가 자동 할당과 해제를 해준다.

따라서 스택의 메모리를 할당하고 해제하는것은 직접 하지않아도 된다

 

하지만 힙에 메모리를 할당하는 것은, 개발자가 명시적으로 요청한 것이므로 해제하는 과정이 필요하다

 

이러한 해제 과정에서 네이티브 환경과 관리 환경이 구분된다

 

 

기존의 네이티브 환경에서는 C/C++ 에서는 메모리 할당과 해제를 반드시 처리해주어야 했는데

C#은 개발자는 오직 할당만 하고 해제는 관리 환경 내의 특정 구성요소가 담당해준다

 

이러한 것을 가비지 수집기 (Garbage Collector)라고 한다

 

 


 

값 형식을 가리키는 변수

값 형식 변수는, 값 자체가 스택 영역에 할당되고 변수는 그 메모리를 가리킨다

 

값 형식 : sbyte, byte, char, short, ushort, int, uint, ulong, float, double, decimal, bool

 

 

 

값 형식

 

 

참조 형식을 가리키는 변수

변수 값을 담기 위해 힙 영역을 추가로 할당한 다음, 스택에서 그 힙의 주소를 가리킨다

참조 형식 : string, class, object

 

참조 형식

 

번외)

값을 할당하지 않은 string 변수 (참조 형식 변수) 는 어떤 값을 가질까?

 

string text;

위 처럼 값을 할당하지 않은 경우, 스택 변수는 0을 담고 있다

= 가리킬 수 있는 힙 주소가 없는 경우이다

 

하지만 참조형 변수에 숫자 0을 대입할 수는 없어서 C# 은 null 예약어를 사용한다

 

아스키코드 0이 null이기 때문인듯

 

 

string text1;
string text2 = null;

따라서 위의 2가지 선언 모두 스택변수에 숫자 0을 갖고있다

 

 

추가로, 더는 사용되지 않음을 명시하기 위해 null을 할당하기도 한다

string name = "C#";
name = null;

 

 

 


 

값 형식과 참조 형식의 차이점

  1. 값을 스택에 저장하는지, 힙에 저장하는지
  2. 변수의 값을 다른 변수에 대입한 경우 메모리의 표현 방법
  3. 기본 값

 

스택 저장과 힙 저장

값 형식은 변수 타입에 해당하는 값을 스택에 저장하지만,

 

참조 형식은 그 값을 담기 위해, 별도로 힙 영역의 메모리를 할당하고,

스택의 변수 값은 다시 힙의 데이터 주소를 가리키게 한다

 

 

변수에 대입 시 메모리 처리

int n1 = 5;
int n2 = n1;

Console.WriteLine(n1); // 5
Console.WriteLine(n2); // 5

string txt1 = "C#";
string txt2 = txt1;

Console.WriteLine(txt1); //C#
Console.WriteLine(txt2); //C#

 

출력은 n1, n2가 같고 txt1, txt2가 같지만

값 형식과 참조 형식에 따라 메모리 표현 방식이 다음과 같이 다르다

 

 

 

값 형식인 n1, n2의 경우 동일한 값이 다른 스택 영역에 복사되었지만

참조 형식인 txt1, txt2는 같은 힙 영역을 다른 스택영역에서 가리킨다

 

 

 

기본 값

 

값 형식 변수는 무조건 메모리가 할당되므로 메모리 영역에 필연적으로 기본 값(default value)을 갖게된다

닷넷은 자료형에 메모리를 할당하면 값을 무조건 0으로 초기화 시키며

 

 

참조 형식의 경우 모두 null 값을 가진다

bool result; // result에는 false 값이 기본값으로 지정된다
int n;       // n에는 0이 들어있다
string txt;  // txt에는 null 값이 지정된다

 

 

 

참고 :

 

기타: 34. 도서: 시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지

 

www.sysnet.pe.kr

 

 

 

ASCII - 위키백과, 우리 모두의 백과사전

1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문 알파벳을 사용하는 대표적인 문자

ko.wikipedia.org

 

반응형
반응형

 

 

 

 

[리뷰] C#린이, 기본 참고서로 시작하세요 C# 프로그래밍 읽어봄

wpf, uwp를 c#과 xaml을 사용해서 만들어 본적은 있으나 사실 C# 기본적인 문법에 관해서는 많이 부족한 편이었다 기존에는 기능을 구현하기 위해 스택오버플로우의 글들을 많이 참고를 했으나 사실

studyingpingu.tistory.com

 

C# 기본 프로그래밍 예제를 따라해보다 찾아본 csc 파일 위치

 

사실 비쥬얼 스튜디오로 실행하는게 제일 간편하긴 한데

그래도 파이썬처럼 cmd에서 바로 실행이 가능하니, C# 간단한 예제를 실행할때 사용하기 좋은듯하다

 

(대신 경로가 조금 길어서 그냥 비쥬얼 스튜디오 켜는게 정신건강에 이로울수있다)

 

dir /s %WINDIR%\CSC.EXE

 

위의 명령어를 cmd창에 입력해주면

기존에 설치한 닷넷 프레임워크 폴더 내에 있는 csc.exe 파일의 위치를 찾아준다

 

 

이 중에서 v4.0 버전이 제일 최신 버전의 .net framework 이므로

C:\Windows\Microsoft.NET\Framework64\v4.0.30319 폴더로 이동하여 csc.exe를 돌려주면 된다

 

//csc.exe 사용법
//컴파일 할 파일이 있는 폴더에서 아래의 명령어를 입력해준다

//'최신 버전의 csc.exe 파일이 있는 위치(폴더 명)\csc' + 컴파일할 파일 명
F:\c# example c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc Program.cs

 

위의 컴파일 명령어를 수행하고 나면

기존 Program.cs 파일만 있었던 F:\c# example 폴더에 Program.exe 파일이 생성된것을 알 수 있다

 

컴파일 후 생성된 Program.exe을 실행해보면

Program.cs에서 작성한 문법대로, 출력한 문자열이 바르게 출력되는것을 확인할수있다

 

 

 

반응형

+ Recent posts