본문 바로가기
반응형

개발언어/C#.NET75

microsoft visual studio 2012 devenv 요소가 없습니다 microsoft visual studio 2012 devenv element not found microsoft visual studio 2012 devenv 요소가 없습니다 window r2 server 에서 visual studio 2012를 설치하는 데 설치가 안되는 오류가 발생하였습니다. microsoft visual studio 2012 devenv element not found 오류로 검색하면 해결책이 많이 보이더군요. 나랑 비슷한 오류에 대해서 확인하였습니다. 아무리 설치를 해도 진행이 되지 않는다. 비쥬얼스튜디오 설치를 못하겠네. microsoft visual studio 2012 devenv 요소가 없습니다 해결책외국 블로그를 참고합니다. https://chanmingman.wordpress.com/2014/07/04/microsoft-visual-studio-2012-deven.. 2015. 1. 21.
C# 에서 MSSQL Script 실행하기 C# 에서 MSSQL Script 실행하기 간단한 방법이 있지만, 프로시저의 경우 실행시 오류가 발생한다. How do I execute a large SQL script (with GO commands) from c#? http://stackoverflow.com/questions/40814/how-do-i-execute-a-large-sql-script-with-go-commands-from-c How do I execute a large SQL script (with GO commands) from c#?의 소스를 조금 변경했다. 실제로 MSSQL에 줄바꿈으로 들어 갈때는 "\r\n"을 넣어 주면 보기 좋게 프로시저의 줄바꿈 처리가 된다. char(10) + char(13)이라고 누가 인터넷에 적었.. 2013. 12. 20.
wcf 의 연결 문자열이 길어서 xml 오류가 발생할 경우 wcf 의 연결 문자열이 길어서 xml 오류가 발생할 경우 문자열 길이가 길어서 오류가 나는 경우 응답시간과 maxBytesPerRead 의 크기를 변경한다. Web.config 의 설정에 추가한다. 2012. 11. 7.
System.InvalidOperationException: 임시 클래스를 생성할 수 없습니다(result=1) System.InvalidOperationException: 임시 클래스를 생성할 수 없습니다(result=1) 오류나는 폴더에 대한 접근 권한이 없어서 발생한다. 오류메시지 System.InvalidOperationException: 임시 클래스를 생성할 수 없습니다(result=1). error CS2001: 'C:\Windows\TEMP\fimmbl1i.0.cs' 소스 파일을 찾을 수 없습니다. error CS2008: 지정한 입력이 없습니다. 위치: System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence) 위치: .. 2012. 11. 7.
C# 코드로 Dos 명령 실행하기! 2012. 11. 4.
클릭원스 바탕화면 아이콘 변경하기 ClickOnce deskcut icon change 클릭원스 바탕화면 아이콘 변경하는 방법 입니다. 아래와 같이 프로그램 적으로 수정할 수도 있습니다. http://robindotnet.wordpress.com/2009/04/07/creating-a-desktop-shortcut-for-a-click-once-application/ 위와 같이 아이콘을 지정하는 것이 제일 보편적입니다. 그리고 게시할때 옵션에서 "바탕화면에 아이콘 만들기"을 체크해주면 생성이 됩니다. 게시할때 체크하는 건 알지만 아이콘 모양 바꾸려니 어디에 있는 지 자주 헷갈리네요 ㅎㅎ 좋은 방법은 아니지만 바탕화면에 아이콘을 복사하는 방법도 있습니다. private static void CheckForShortcut() { ApplicationDeployment ad = Applicati.. 2012. 5. 17.
sharepoint 2010 webpart 로 Reporting 넣기 (Sharepoint SSRS Reporting service) sharepoint 2010 webpart 로 Report을 넣고 구현하였습니다. 분산된 서버환경이라서 권한 문제로 애를 먹었습니다. active directory(AD)와 Sharepoint 2010, 쉐어포인트 데이타베이스, reporting service(보고서 서버) 가 별도의 서버로 구성되어 있어 권한 문제가 생겨 애를 먹었습니다. 페이지에 웹파트를 추가하여 리포팅 뷰어를 사입할 수 있습니다. 데이타는 MSSQL에 있는 DB의 내용을 가져와서 보여 주었습니다. Integrating Sharepoint 2010 and SQL Reporting Services 2008 in 6 easy steps http://www.codeproject.com/Articles/88285/Integrating-Sha.. 2012. 3. 27.
[C# 오류] 작업의 필수 매개 변수 "CertificateThumbprint"에 값을 지정하지 않았습니다. 작업의 필수 매개 변수 "CertificateThumbprint"에 값을 지정하지 않았습니다. 오류 발생시 확인해야 할 사항입니다. ClickOnce 매니페스트 서명이 체크되어 있는 지 확인합니다. 그리고 생성된 인증서가 있으면 파일에서 선택을하여 인증서를 선택하여 줍니다. 참고사이트 http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/a305d92f-8e3b-4b7e-b09c-5a4a32cec186 2012. 2. 22.
클릭원스 배포 시 프로그램 폴더구성 클릭원스(clickonce)로 배포를 하면 시작 프로그램에 어떻게 설치되어 배포 될까요? 게시 옵션을 설정해주는 것에 따라 폴더가 생기고 없고 합니다. 게시 옵션에서 제품군 이름(U)을 설정해주면 게시자이름(L) 폴더 안에 제품군 이름(U)으로 들어가게 됩니다. 따라서 시작 > 프로그램 폴더명 > 실행파일 순으로 구성하고 싶다면 게시 옵션 에서 제품군 이름(U)을 넣지 않으면 됩니다. 게시 옵션에 따라서 배포가 틀려집니다. 2011. 12. 12.
C# 조건부 컴파일 기호 #if #elif #else 컴파일을 할때 조건에 따라 컴파일을 할 필요가 있습니다. 소스코드의 맨앞에 #define을 선언하는 것보다 빌드에서 조건부 컴파일 기호를 입력하여 처리하는 것이 더 편합니다. 코드는 아래와 같이 조건에 따라 컴파일 하게 관리하면 됩니다. 실제로 Release 하여 배포해야 할 경우에는 else 문을 실행하게 조건절에 없는 기호를 넣어 처리하면 됩니다. //조건 컴파일 #if TESTDefine //조건절1 e.AcceptCertificate = true; #elif LOCALDefine //조건절2 e.AcceptCertificate = true; #else //이도저도 아니면 실행 e.AcceptCertificate = false; #endif 간단한 데모를 첨부하니 참고하세요. 참고사이트 http:/.. 2011. 12. 6.
C# Convert DateTime to UNIX timestamp or UNIX timestamp to DateTime C# Convert System.DateTime to UNIX timestamp or Make UNIX timestamp mysql에 있는 unix timestamp을 생성하고 다시 DateTime으로 변경을 해야 했다. DataTime을 Unix TimeStamp로 변경 하기도 해야 했는 데 샘플을 만들어 보았다. 일단 C#에서 unix TimeStamp을 생성하는 데 힘들었다. 무엇이 틀렸는 지 날짜의 시간이 맞지 않아 고생했다. /// /// method for converting a System.DateTime value to a UNIX Timestamp /// 지금 시간을 Unix timestamp로 변경하는 코드이다. /// private void ConvertToTimestamp() { D.. 2011. 12. 2.
GAC(전역 어셈블리 캐시)에 WindowsBase 버전 3.0.0.0 어셈플리를 설치해야 합니다. 이 응용프로그램을 설치하거나 실행할 수 없습니다. 먼저 GAC(전역 어셈블리 캐시)에 WindowsBase 버전 3.0.0.0 어셈플리를 설치해야 합니다. 라는 오류가 발생하였다. clickonce 클릭원스로 배포할때 이런 문제가 발생하였다. 클릭원스로 배포하면 배포솔루션에 필요한 파일들이 다 포함이 될텐데 이런문제가 발생하다니 .. 해결책은 간단하다. GAC(전역 어셈블리 캐시)에 WindowsBase 버전 3.0.0.0 어셈플리를 설치해야 합니다. 라는 오류가 뜨면 닷넷프레임워크를 설치해주고 설치가 되어 있다면 활성화를 시켜주면 된다. 아래의 캡쳐와 같이 기능 선택을 하여 준다. 서버관리 > 기능 > .NET Framework 3.5.1 (닷넷 프레임워크)를 체크하여 기능활성화를 해준다. 2011. 11. 24.
ClickOnce 인증서 작성 도구 Makecert.exe 다운로드 인증서 작성 도구(Makecert.exe) 다운로드 설치하여 인증서를 만들어 보았습니다. Microsoft Windows SDK for Windows 7 and .NET Framework 4 을 설치하면 Makecert.exe가 포함되어 있습니다. 모든 ClickOnce 배포는 디지털 인증서를 사용하여 서명해야 합니다. 그래서 인증서를 만들어야 합니다. 1년 만기 인증서로 되어있어 불편한데 기간을 무제한으로 늘려 생성해주면 됩니다. 서명을 작성하였지만 1년단위로 생성이 되어 만료되면 다시 배포서버에서 재설치를 하여야 업데이트가 되는 불편한점이 있다. 준비과정 ) 1. Makecert.exe 가 포함된 SDK을 설치하자. 아래의 링크에서 다운로드가 가능하다. http://msdn.microsoft.com/.. 2011. 11. 24.
C# 동적배열 rearray 동적배열을 만들기 위해서 방법을 정리해 보았다. 컨트롤을 동적으로 생성할 필요가 있었다. vb의 redim 처럼 배열의 크기를 재지정 하는 함수가 없는걸로 알고 있었다. 그런데 resize 함수가 있어 지정할 수 있다. 간단하게 작성해보았다. 아래 사이트에 자세한 정보와 msdn을 참고해라. 간단히 작성한 함수다. LinkLable의 컨트롤의 배열을 동적으로 늘리는 방법이다. LinkLable[] lb2 = new LinkLable[0]; // 일단 배열 선언. 크기는 1개. static void RearrLinklbl(ref LinkLabel[] ob) { int i = ob.Length + 1; Array.Resize(ref ob, i); ob[i - 1] = new LinkLabel(); } // .. 2011. 11. 7.
Preserve the node states in a custom TreeView 조직도 펼치고 닫기 기록 Preserve the node states in a custom TreeViewTreeView 의 Node을 펼치고 닫는 부분을 기록하였다가 보여주는 예제가 있습니다. 조직도를 출력할때 노드를 사용자가 열고 닫고 할때 이를 다음에 다시 프로그램을 실행하였을때 보여줄 필요가 있습니다. 고객은 불편한걸 싫어 하거든요. 이때 쓸만한 예제입니다. 전 Dictionary 에 넣은 데이타를 xml로 로컬에 기록해두었다가 다시 보여주었습니다. 아래 예제는 Dictionary 간 실행시 존재하고 체크박스를 체크하느냐 마느냐에 따라서 갱신할때 트리의 상태(펼침, 닫힘)을 잃어버리거나 가져오게 됩니다. 아래설명에 상세히 나와 있어요^^ 링크 : http://www.codeproject.com/KB/tree/NodeSta.. 2011. 10. 21.
프로그램 시작에 등록하기 시작메뉴에 프로그램 등록하기 클릭원스로 배포를 하고 프로그램을 윈도우 시작시마다 실행하게 하고 싶었다. 그런데 레지스터에 기록하고 빼게 작성을 해두었더니 윈도우 계정중 administrator 계정이 아니거나 레지스트 권한이 없을 경우 처리할 수 없었다. 그래서 생각한것이 프로그램의 단축 아이콘을 만들고 그 아이콘을 시작 > 시작프로그램 폴더에 복사하여 넣는 것이다. 꼼수란 편하다. 하지만 예기치 못한 결과가 있을 수 있으니 테스트가 중요하다. 시작프로그램에 MyPeople 처럼 단축아이콘을 넣는 것이다. 제작한 프로그램의 환경설정에서 시작할때 실행하기 체크를 하면 복사하여 준다. 단, 클릭원스의 URL을 사용하니 프로그램의 단축아이콘을 생성하는 부분을 수정하면 된다. 간단하게 만들어본 데모이다. 코드는.. 2011. 10. 21.
Missing Icon in Add/Remove Programs for ClickOnce Application Missing Icon in Add/Remove Programs for ClickOnce Application 클릭원스로 배포한 프로그램은 프로그램 추가/제거에 아이콘이 등록되지 않는다. 그래서 해당프로그램을 레지스트에 찾아서 아이콘을 등록하여야 한다. 클릭원스를 커스텀마이징하려니 참 불편하긴 하다. 하지만 이런 작업이 없으면 디자인상 보기 않좋은 프로그램이 도리거 같다. 진입부 Main에 추가해서 해당코드를 넣어주면 된다. static class Program { /// /// 해당 응용 프로그램의 주 진입점입니다. /// [STAThread] static void Main() { bool created = false; Mutex dup = new Mutex(true, "마이프로그램", out crea.. 2011. 8. 12.
C# 메신져 알람창 포커스 처리 메신져 알람 처리 c# stealing focus c# stealing focus messenger alert focus 등으로 검색을 하면 폼이 나타낼때 포커스를 빼기지 않는 방법이 구글에서 나옵니다. c# stealing focus 으로 검색하면 됩니다. 메신져 개발을 하는 데 알람이 오면 메모장 같은곳에 타이핑을 하다가 포커스를 빼앗기는 문제가 발생하였다. 그래서 이렇게 처리하였다. 소스코드 /// /// Preventing stealing focus when form show-up /// protected override bool ShowWithoutActivation { get { return true; } } 외국포럼에 다른 방법도 있으니 참고할만 하다. 코드만 넣으면 override 하니 초.. 2011. 8. 2.
text write log 로그남기기 How to: Open and Append to a Log File 에러의 로그를 남기는 방법은 여려가지가 있습니다. 부득이하게 원격 디버깅을 할 수 없거나 할때 로그를 남겨야 합니다. 또한 webservice 경우 messagebox 을 띄우기 어렵기 때문에 디버깅이 힘듭니다. 이럴때 파일로 에러로그를 남기려고 합니다. MSDN의 파일 로그를 남기는 방법을 활용하였습니다. http://msdn.microsoft.com/en-us/library/3zc0w663.aspx using System; using System.IO; class DirAppend { public static void Main() { using (StreamWriter w = File.AppendText("log.txt")) { Lo.. 2011. 7. 28.
c# xml read XmlTextReader 작성예제 및 richtextbox font color 지정하기 xml 한글 깨지는 현상 처리 xml reader 와 richtext font color 지정하기 C#에서 xml문서를 읽고 원하는 데이타를 추출하는 프로그램을 만들었습니다. XmlTextReader 을 이용하여 xml을 읽고 해당 tagname을 찾아 출력하는 간단한 예제입니다. 또한 richtextbox에 font을 이용하여 원하는 색상을 지정하여 출력합니다. richtextbox의 확장 클래스를 만들어 색상지정과 폰트속성을 지정합니다. 공지사항을 띄울때 쓸 xml reader 프로그램인데 아직 데모입니다. 추후 개선할 사항이 나오면 더 수정하여야 하겠지만 xml reader할 경우 문제가 없을 거 같습니다. 참고로 xml에서 한글을 읽어 들일 때 깨지는 부분도 처리되어 있으니 확인하시면 됩니다. Xml Reader v0.1 첨부.. 2011. 7. 27.
FileTracker : error FTK1011: 에러 발생시 해결방법 FileTracker : error FTK1011: 에러 발생시 해결방법 VisualStdio2010을 사용하다가 보면 프로젝트가 실행되지 않는 경우가 있습니다. FileTracker : error FTK1011: 에러일 경우 아래와 같이 실행이 되지 않는다고 나옵니다. FileTracker : error FTK1011: 오류로 실행이 안될때 해결 방법을 첨부합니다. FileTracker : error FTK1011: 에러 발생시 해결방법 프로젝트.csproj 파일을 메모장에서 열어 아래의 코드를 추가해줍니다. false 또는 아래 메시지의 에러가 발생했을 때에는 FileTracker : error FTK1011: 프로젝트가 경로에 '한글' 경로가 들어가 있는지 확인 후 영문 경로에 올려놓고 빌드하면 정.. 2011. 7. 27.
C# 레지스트 읽기 쓰기 지우기 C# regedit C# 레지스트 사용하기 C#에서 간단한 설정을 저장하는 방법은 여러가지가 있습니다. 예를 들어 레지스트를 이용하거나 ini파일, xml파일, 프로젝트 속성에 설정(Settings.seting)을 이용하는 방법입니다. 그중에서 C# 코드로 레지스트에 접근하여 간단한 설정을 읽고 쓰는 방법에 대해서 설명하겠습니다. 레지스트의 값 불러오기 RegistryKey regKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\AdManager", RegistryKeyPermissionCheck.ReadWriteSubTree); if (regKey.GetValue("autochecked").ToString().ToLower().Equals("true")) { chk_auto.Chec.. 2011. 6. 29.
C# 작업표시줄에 윈도우 띄우지 않기 (트레이에만 띄우고 싶은 알람창 구현) Do not show form in taskbar C# Do not show form in taskbar C# 트레이 알람창을 구현하였습니다. 그런데 문제는 알람창이 작업표시줄에도 뜨는 문제가 발생하였습니다. 간단히 폼을 ScreenRectangle 넓이를 구해 특정영역인 Tray에 띄우는 겁니다. 알람창이 작업표시줄에 뜨는 문제는 form의 속성중 ShowInTaskbar = false; 로 처리하여 뜨지 않게 할 수 있습니다. 알람창 구현하기 //스크린 화면의 전체 크기를 구하여 알림 창을 표시할 위치를 선정한다. System.Drawing.Rectangle ScreenRectangle = Screen.PrimaryScreen.WorkingArea; int xPos = ScreenRectangle.Width - alertform.Bounds.Widt.. 2011. 6. 27.
C# DataSet 안에 SQL 쿼리로 Filter 필터링 하기 How to find a value in DataTable in C#? DataSet, DataTable에 Select로 필터링하기 DataSet으로 받은 데이타에서 원하는 데이타만 필터링하고 싶습니다. SQL로 질의한 데이타를 DataSet이 담고 있는거죠. 다시 질의할 필요없이 DataTable, DataRow 중에서 원하는 데이타만 필터링해서 데이타를 추출하려고 합니다. 아주 간단히 DataSet에서 데이타를 필터링 할 수 있습니다. DataSet의 Select()을 이용하면 됩니다. datatable.Select()로 원하는 데이타를 추출하는 코드입니다. DataRow[] filteredRows = datatable.Select(string.Format("{0} LIKE '%{1}%'", columnName, value));A DataTable or DataSet o.. 2011. 6. 24.
C# 툴팁 만들기 C# ToolTip 풍선말 Displaying tooltip on mouse hover of a text C# 툴팁 구현하기 풍선말 Displaying tooltip on mouse hover of a text 하는 방법입니다. C#에서 툴팁을 구현하려면 ToolTip 컨트롤을 디자인에서 추가해줍니다. 추가된 toolTip1 컨트롤에 속성을 지정합니다. 툴팁 타이틀과 아이콘, 출력할 풍선말 등을 구현합니다. 보통의 툴팁의 이벤트는 Textbox에 마우스를 hover 할때 풍선말이 나오게 구현합니다. 간단한 C# 소스코드를 보여드립니다. toolTip1.ToolTipTitle = "받는사람"; toolTip1.ToolTipIcon = ToolTipIcon.Info; toolTip1.IsBalloon = true; toolTip1.ShowAlways = true; toolTip1.SetToolTip(richTe.. 2011. 6. 24.
C# 폼 크기 변경 막기 How do I disable form resizing for users in Winforms 2.0? How do I disable form resizing for users in Winforms 2.0? C# Winform의 창 크기를 resize 하지 못하게 할 수 없을까요? 속성만 변경하면 가능합니다. 코드 this.FormBorderStyle = FormBorderStyle.FixedSingle; 폼의 속성 FormBorderStyle을 FormBorderStyle.FixedSingle 로 변경합니다. 이렇게 되면 사용자가 폼의 크기를 변경할 수 없습니다. 참고 포럼 사이트 http://www.eggheadcafe.com/software/aspnet/29776540/disable-form-resizing.aspx 2011. 6. 24.
C# 단축키 구현 ProcessCmdKey 사용한 override C# 단축키 구현 C#의 form에 단축키를 구현하는 방법입니다. ProcessCmdKey 이벤트를 override 하여 구현할 수 있습니다. C# 단축키 구현은 ctrl, shift 등의 키를 동시에 눌러서 구현하기 때문에 키값 조합으로 구현됩니다. 아래의 예제는 아주 간단한 단축키를 구현한 예입니다. /// /// 메인폼 단축키 지정 /// protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, Keys keyData) { Keys key = keyData & ~(Keys.Shift | Keys.Control); switch (key) { case Keys.B: // 쪽지보내기 if ((keyData & Keys.Cont.. 2011. 6. 24.
C# Resources 에 이미지 포함시키기 Load image from resources in C# C# Resources 에 이미지 로드하기 Load image from resources in C# 하는 방법입니다. 쉽게 프로젝트를 관리할때 Resource 폴더에 이미지를 넣어둡니다. 이렇게 넣어둔 파일은 Bmp 함수에서 로드할때는 경로를 지정합니다. 상대경로로 지정을 하여 사용하게 되면 debug 모드에서는 정상적으로 사용할 수 있습니다. 하지만 ClickOnce나 Setup로 배포파일을 만들게 되면 상대경로가 달라지게 되어 이미지를 로드 못하는 오류가 발생합니다. 예를 들어 개발자가 프로젝트를 개발할때의 실행파일 경로는 debug 폴더안에 exe파일이 존재하고 실제 필요한 이미지는 그 상위 프로젝트 폴더의 Resource 폴더에 들어 있는 경우입니다. 이런 경우 ..\..\Resource 경로의 .. 2011. 6. 18.
메신져 다른 용무 중 구현하기 메신져 다른 용무 중 구현하기 GetProcessesByName 함수를 이용하여 메신져의 process id가 같은 워드작업일 경우 다른용무중으로 표시를 해줍니다. 메신져 다른 용무중 구현을 위한 아주 간단한 프로그램입니다. 현재 선택된 상위의 윈도우의 process id을 받아 워드, 엑셀, 파워포인트 등의 프로세스 id와 동일한지 검사를 해주는 로직입니다. 간단한 프로그램이며 C# 소스를 첨부하였습니다. 다른용무중 구현 소스코드 다른용무중인지 확인하는 소스코드입니다. 원리는 현재 선택된 상위의 윈도우의 프로세스 id을 찾습니다 .찾은 id로 GetProcessesByName 함수를 이용하여 프로세스의 id와 일치하는지 검사합니다. 일치하는 워드프로세스, 엑셀, 메모장을 사용중일때는 다른 용무중으로 표.. 2011. 6. 16.
ClickOnce 클릭원스 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다. 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다. ClickOnce 클릭원스 배포를 하는 중 오류가 발생하였습니다. 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다. 라는 난감한 오류로 서버의 자원을 접근할 수 없다는 에러입니다. " 원격 서버에서 (404) 찾을 수 없음 오류를 반환했습니다. " .오류해결방법은 간단합니다. MSDN의 설명을 보면 => config 파일이 들어 있는 ClickOnce 응용 프로그램을 설치하려고 하면 다운로드 오류가 발생합니다. 기본적으로 Visual Basic Windows 기반 응용 프로그램에는 App.config 파일이 포함되어 있습니다. 사용자가 Windows Server 2003을 사용하는 웹 서버에서 설치하려고 하면 이 운영 체제는 보안을 .. 2011. 6. 11.
반응형