본문 바로가기

프로그램 경험/.Net

[.NET] DLL 위치 변경 하기 응용프로그램 개발시 외부 어셈블리를 참조하는 경우가 많이 생긴다.개발후 배포 하게 되면 실행 어셈블리 폴더 안에 모든 어셈블리가 줄줄이 함께 있는데 꼴보기가 엄청 싫다. 하위 폴더를 생성해서 그곳에 모두 몰아 넣고 싶은 생각이 간절할 것이다.설정을 만들어주면 가능하다. 웹 프로그램이라면 Web.Config 응용 프로그램이라면 프로젝트명.Config 파일을 생성해서 아래와 같은 내용을 넣어 준다.probing privatePath 에 해당 하위 폴더들을 적어 주면 된다.
ClickOnce 제거 하기 편해지면 숨겨져 있는것이 많다.클릭원스로 배포한 프로그램 삭제하고 싶은데 프로그램제거 메뉴에 없다. 제거 하기 위해서는 아래 경로로 가야 한다. C:\Users\사용자계정\AppData\Local\Apps\2.0 이 경로로 가서 랜덤생성된 폴더를 통째로 삭제해 주면 된다.랜덤 생선된 폴더는 대충 8TYY8DAM.9HG 이렇게 생겼다.
[VisualStudio] 다음 모듈은 최적화 기능을 사용하여 빌드되었거나 디버그 정보 없이 빌드되었습니다. ---------------------------Microsoft Visual Studio---------------------------다음 모듈은 최적화 기능을 사용하여 빌드되었거나 디버그 정보 없이 빌드되었습니다. C:\Users\Administrator\AppData\Local\assembly\dl3\TDJBBD3D.76W\P88W9KJG.YM6\035a119a\001c62b2_d89acd01\SiSiSi.DLL 이 모듈을 디버깅하려면 프로젝트 빌드 구성을 디버그 모드로 변경하십시오. 이 메시지를 표시하지 않으려면 '시작할 때 사용자 코드가 없으면 경고' 디버거 옵션을 사용하지 않도록 설정하십시오.---------------------------확인 --------------------------..
[C#] StreamReader 한글 깨짐 문제 웹 사이트에서 XML 문서를 가져와서 사용하는 로직이 있는데 한글이 깨진다.StreamReader 생성자 두번째 인자에 인코딩을 지정해 주면 한글 깨짐을 방지 할수 있다.게다가 세번째 인자에 true 값을 넣어주면 유니코드 문서의 BOM 여부 확인 하여 지정된 인코딩으로 자동 처리 해준다. HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream();//StreamReader reader = new StreamReader(stream);StreamReader reader = new Str..
[VisualStudio] 디자이너를 로드하기 전에 데이터가 손실되지 않게 하려면 다음 오류를 해결해야 합니다. 이런 오류를 만나면 참 황당하기 그지 없다. 디자이너 화면은 수정한 적도 없는데 이런 화면이 뜨면 더더욱 황당한 노릇이다. 이 오류가 어째서 발생하였는지를 설명해 보겠다. 팝업 화면을 하나 생성하는 과정에서 부모창의 위치를 참조해서 팝업의 위치를 결정 하고 싶었다. 그래서 아래와 같은 로직을 폼 로드 이벤트에 삽입 하였다. 이 폼을 생성한 부모폼(Owner)을 참조하는 로직이다. private void Form1_Load(object sender, EventArgs e) { Point owner_location = this.Owner.Location; int owner_width = this.Owner.Size.Width; int x = owner_location.X + owner_width + 5; t..
[C#] 64비트 확인 [DllImport("kernel32.dll", SetLastError = true, CallingConvention = CallingConvention.Winapi)] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool IsWow64Process([In] IntPtr hProcess, [Out] out bool lpSystemInfo); //C# 64bit OS runtime check public static bool Is64Bit() { bool retVal; IsWow64Process(Process.GetCurrentProcess().Handle, out retVal); return retVal; }
[ASP.NET] IIS 메타베이스에 액세스하지 못했습니다 이딴 오류 뜨면 Visual Studio 명령 프롬프트 띄워서 aspnet_regiis -i 넣어주면 된다.
[Visual Studio] Visual Studio에서 예외가 발생했습니다. 확장이 원인일 수 있습니다 정말이지... 별일도 없다가 갑자기 급박하게 뭘 하려고 하면 알수 없는 에러가 뜨는일들은 사람을 미치게끔 한다. 별일 없이 잘 쓰던 비주얼스튜디오가 급한일이 있어서 뭐 하려고 했더니 에러 메시지를 뱉으면서 다운된다. 하란대로 log 매개변수 주고 확인해보니 뭐.. 별얘기도 없다..-_- 한글 사이트에서는 이 오류에 관해 나온것이 하나도 없고 구글링을 통해 찾아보니 도구-확장매니저 가서 설치된 것들 지우라는데 난 설치한것도 없다..ㅜㅜ 더욱 구글링 해서 찾아낸 해결책은 아래와 같다. 레지스트리에 값을 넣어주면 된다^^ 아래처럼 기본값에 값이 없거나 혹은 있는데 다른경우에 아래와 같이 바꿔주자^^ 64비트와 32비트의 경우가 다르다니 해당 글을 참고하자. http://connect.microsoft.com/..