이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. (VisualStudio에서 NuGet설치후 새프로젝트 생성시 빌드 오류)

이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. (VisualStudio에서 NuGet설치후 새프로젝트 생성시 빌드 오류)

문제 :
VisualStudio에서 NuGet설치후 새프로젝트 생성시 빌드 오류
"이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다."


해결 :
1. Visual Studio 도구=> 옵션=>패키지 관리자=>일반=> (NuGet이 누락된 패키지를 빌드 시 다운로드하도록 허용) 체크

1.  프로젝트명.csproj 에서 해당 package가 <Import ... > 구문에서 경로가 맞는지 확인
 -> 경로가  맞다면   <Target Name="EnsureNuGetPackageBuildImports" ..> 아래 있는 <Error ...>를  지움
HTTP Error 503. The service is unavailable.

HTTP Error 503. The service is unavailable.

문제 : HTTP Error 503. The service is unavailable. 해결 : IIS7 관리자 -> 응용 프로그램 풀 해당 사이트 응용프로그램 풀 상태 중지 이면 시작 함. 만약 바로 다시 종료되면 종료되는 응용프로그램 풀은 지우고 새로 응용프로그램 풀을 추가 그 개발 사이트의 고급설정에서 응용 프로그램 풀을 방금 추가한 그 것으로 변경.
c# Split (문자열 분할, 자르기)

c# Split (문자열 분할, 자르기)

(http://link2me.tistory.com 에서 발췌)
기타 : split를 string문자열로 자를때 word_1.Split(new string[] {"\\"}, StringSplitOptions.None) C# Split함수의 경우 직접 문자열을 구분자로 줄수 없다.

Split 은 기본적으로 문자를 입력 받도록 되어 있다. 문자열을 char[]형식으로 변경 후 사용 가능하다.


string str = "서울시/서초구/양재동";
string[] result = str.Split(new char[] { '/' });  // /열 result 라.
for (int i = 0; i < result.Length ; i++)  // 은 0 며,
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}


string str = "jsk005@naver.com";
char[] sp ="@".ToCharArray();
string[] result = str.Split(sp);
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}


string str = "홍 길 동";
string[] result = str.Split(new char[] {' '});  // new char[] {} 도 공백으로 나눈다는 의미
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}


위의 예제와 아래 예제의 차이점을 보면 split 자(char)열(string)이다.

string 으로 할 경우에는 반드시 StringSplitOptions.None 또는 StringSplitOptions.RemoveEmptyEntries 까지 추가해줘야만 에러가 발생하지 않는다. 물론 위의 것도 StringSplitOptions 를 추가해줘도 된다.


string str = "홍길동~~~이순신~~~강감찬~~~을지문덕";
string[] result = str.Split(new string[] {"~~~"}, StringSplitOptions.None);
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}

string[] separator = new string[1] { "\r\n\r\n" };  //분리할 기준 문자열
string[] strResult = s.Split(separator, StringSplitOptions.RemoveEmptyEntries);

  

* StringSplitOptions.None  //

* StringSplitOptions.RemoveEmptyEntries  // 반환값에 빈 부분 문자열 포함 안됨


foreach (string strValue in strResult)
{
   
}

또는

for (var i =0 ; i < strResult.Length ; i++)

{

}


//구

string str = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";
string[] stringSeparators = new string[] { "[stop]" };
string[] result = str.Split(stringSeparators, StringSplitOptions.None);

for (int i = 0; i < result.Length; i++)
{
    if (String.IsNullOrEmpty(result[i]))  // null
    {
        MessageBox.Show("null" + result[i]);
    }
    else
    {
        MessageBox.Show(i + "번째 배열 ==> " + result[i]);
    }               
}


아래와 같이StringSplitOptions.RemoveEmptyEntries 으로 수정하면 결과가 어떻게 나올까?

string str = "[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";
string[] stringSeparators = new string[] { "[stop]" };
string[] result = str.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries); 

// 반환값에 빈 부분 문자열 포함 안됨
for (int i = 0; i < result.Length; i++)
{
    if (String.IsNullOrEmpty(result[i]))
    {
        MessageBox.Show("null" + result[i]);
    }
    else
    {
        MessageBox.Show(i + "번째 배열 ==> " + result[i]);
    }               
}

결과는 null 이나 공백은 무시되므로 배열은 0, 1, 2 만 추출된다.




System.Text.RegularExpressions.Regex.Split(자를 문자열, 정규식 문자열)

using System;
using System.Text.RegularExpressions;


string str = "cat\r\ndog\r\nanimal\r\nperson";
string[] result = Regex.Split(str, "\r\n");
for (int i = 0; i < result.Length; i++)
{
    MessageBox.Show(i + "번째 배열 ==> " + result[i]);
}



포함된 문자열의 개수 구하기
int
count = source.Split('/').Length - 1;


c# String, string의 차이

c# String, string의 차이

[String]
원래 System.String
System 네임스페이스를 using System;으로 사용 -> 그냥 String 으로 써도 똑같음

[string]
System.String의 별칭

[기타]
int = System.Int32
, bool = System.Boolean
, double = System.Double
System안에 있는 기본 타입들 별칭
c# 배열 초기화 할때  값 넣어주는 방법

c# 배열 초기화 할때 값 넣어주는 방법

// Single-dimensional array (numbers).
int[] n1 = new int[4] {2, 4, 6, 8};
int[] n2 = new int[] {2, 4, 6, 8};
int[] n3 = {2, 4, 6, 8};
// Single-dimensional array (strings).
string[] s1 = new string[3] {"John", "Paul", "Mary"};
string[] s2 = new string[] {"John", "Paul", "Mary"};
string[] s3 = {"John", "Paul", "Mary"};
// Multidimensional array.
int[,] n4 = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
int[,] n5 = new int[,] { {1, 2}, {3, 4}, {5, 6} };
int[,] n6 = { {1, 2}, {3, 4}, {5, 6} };
// Jagged array.
int[][] n7 = new int[2][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} };
int[][] n8 = new int[][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} };
int[][] n9 = { new int[] {2,4,6}, new int[] {1,3,5,7,9} };
윈도우 업데이트 다운로드 받은파일및 로그 삭제 명령어

윈도우 업데이트 다운로드 받은파일및 로그 삭제 명령어

forfiles /P "C:\Windows\SoftwareDistribution\Download" /S /M * /D -0 /C "cmd /C rmdir /s /q @path"
forfiles /P "C:\Windows\SoftwareDistribution\Download" /S /M * /D -0 /C "cmd /C del /q /q @path"
forfiles /p "C:\Program Files (x86)\GWTool\gwtool_game\LOG" /s /m *.* /d -1 /c "cmd /c del /q @path"
forfiles /p "C:\Program Files\GWTool\gwtool_game\LOG" /s /m *.* /d -1 /c "cmd /c del /q @path"


(테스트는 안해봄)