none
xp에서 c#프로그램이 실행되지 않습니다... RRS feed

  • 질문

  • 일단 개발 환경은 vs2012, vs2010 이고 윈도우 7입니다..

    테스트 해본 xp sp3는 net framework 2.0부터 4.0까지 모두 설치해놨습니다..

    그런데 c#으로 제작된 프로그램이 실행이 되지 않습니다..

    하다못해 Console.WriteLine("test"); 이 문장조차도 실행이 되질 않습니다..

    콘솔에서 프로그램 실행해보면 프로그램을 시작하자 마자 바로 종료가 되어버림니다..

    framework 전부 지웠다가 다시 설치도 해봤는데도 마찬가지고요...

    실행되서 에러라도 뿜어내면 고쳐볼텐데..

    framework 관련 어셈블리를 아예 실행을 못시키는거 같습니다....

    또 같은 환경을 구성해보고자 xp설치해놓구 실행해보면 저희는 잘되는데.

    고객사쪽에는 안된다는곳이 너무 많네요...

    감이 잡히질 않는데 대체 어떤 문제일까요....

    2012년 11월 9일 금요일 오전 4:08

모든 응답

  • 질문의 범위가 너무 광범위합니다.

    조금 더 구체적으로 적어주시면, 보다 효율적으로 빠른시간에 답변을 받으실수 있을것 같습니다.


    VB/VB.NET is my Life

    2012년 11월 9일 금요일 오전 5:34
  • vs 2012/vs 2010 둘다 컴파일은 닷넷 2.0 으로 선택한뒤 컴파일했습니다..

    그리고 해당 xp는 닷넷 2.0부터 4.0까지 모두 설치했고요.. 

    Console.WriteLine을 실행하면 아무런 반응이 나오질 않고 실행한뒤 꺼짐니다...

    c:\test.ext  <<< 실행                     

    c:\  

    즉 프로그램 실행은 되지만 아무런 명령어를 처리하지 못하고 바로 종료되어버림니다...

    2012년 11월 12일 월요일 오전 3:29
  • 특정 xp가 설치되어있는 PC에서 닷넷으로 제작된 프로그램이 실행이 되지 않는경우 입니다...

    개인적으로 xp설치해서 할때는 잘되는데.. 특정 고객분들만

    xp에서 분명히 닷넷 2.0~4.0까지 모두 설치가 되어있고 업데이트까지 했는데도 불구하고

    Console.WriteLine 조차도 실행하지 못합니다..

    콘솔창에서 실행해보면..

    마치 Main()에 아무것도 치지 않은상태..

    void Main()

    {

    retrn;

    }

    으로 컴파일한것처럼 실행후 바로 종료가 되어버림니다...

    return 위에 Console.WriteLine("테스트");를 써놔두요...

    아무런 에러메세지 출력도 없고 정상적으로 실행되는것처럼 보이니 Remote Debug도 걸어보지 못하고..

    특정 1분만 그랬다면 그냥 넘어갈텐데..

    xp에서 닷넷을 실행하지 못하는분들이 생각보다 많이생김니다...

    2012년 11월 12일 월요일 오전 3:34
  • 안될 이유가 전혀 없다고 생각이 들면서 많이 답답하실거라 생각됩니다.

    혹시 한글 문제가 아닐까 추측해봅니다.

    테스트가 가능하시다면

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.ToString());
    
                Console.WriteLine("콘솔 테스트");
                Console.WriteLine("Console TEST");
                System.Diagnostics.Debug.WriteLine("디버깅 콘솔 테스트");
                System.Diagnostics.Debug.WriteLine("Debugging Console TEST");
            }
        }
    }
    

    이런식으로 한글과 영문을 함께 찍어보시는게 좋을것 같습니다.

    한글 부분만 나오지 않는다면 영문 윈도우 문제일수도 있을것 같습니다.

                string tmp = "콘솔 테스트 123 ABC";
                byte[] bArray = Encoding.Default.GetBytes(tmp);
                byte[] u8Array = Encoding.Convert(Encoding.Default, Encoding.UTF8, bArray);
                Console.WriteLine(Encoding.UTF8.GetString(u8Array));
    

    이런식으로 인코딩하여 테스트를 한번 해보시는게 좋을것 같습니다.

    아니라면 다른 방법을 좀더 연구해봐야할것 같습니다.

    2012년 11월 12일 월요일 오전 6:48
  • 인코딩 문제는 아님니다...

    Console.WriteLine("test");

    Console.WriteLine("테스트");

    둘다 안될뿐더러

    콘솔이 아닌 윈폼으로 제작할때.

    윈도우 폼도 뜨지 않으니깐요...

    원래 닷넷을 설치 하지 않은상태로 프로그램을 실행하면 닷넷이 설치안되어있다는 오류라도 나오는데...

    이건 아무런 메세지가 나오지도 없네요.. ㅠ

    2012년 11월 12일 월요일 오전 6:55
  • Win7에서 개발 및 빌드 하셨다고 하셨는데..

    저도 많은 고객들을 상대(수천명...)로 하다보니 비슷한 경우가 있었던것 같은데요.

    동일한 소스로...

    Win7에 VB6를 설치하고 빌드하면 Win7에서는 잘되고 XP에서는 안되는경우가 있었습니다.

    반대로 XP에 VB6를 설치하고 빌드하면 Win7,XP 모두 잘 되더라구요.

    혹시 비슷한 경우가 아닌가 하는 생각이 드는데요.

    1. 가능한 상황이면 XP에서 빌드를 한번 해보시고 테스트해보시는게 좋을듯합니다.

    2. 안되는 PC의 서비스팩 버젼 및 프레임워크 설치파일을 점검해보시는게 좋을듯합니다. icartsh 님께서 설치하면 잘 되는데.. 특정 고객의 PC만 문제가 된다는것은 그PC에 설치된 뭔가가 다르다는 결론입니다.(이건 추후에..)

    1번을 우선적으로 시도해보는게 좋을것 같습니다.

    2012년 11월 12일 월요일 오전 7:20
  • using System;
    
    class Program
    {
      static void Main(string[] args)
      {
        Console.WriteLine("test");
      }
    }

    고객의 xp가 설치되어있는 PC에서 이런 코드작성후

    path에 C:\Windows\Microsoft.NET\Framework\v3.5 추가한뒤

    위의 코드를 csc test.cs 해서 빌드한뒤에

    실행해보았지만 역시나 실행되지 않았습니다...


    아무리 봐도 net framework만 설치 되어있으면 실행되어져야 되는데...

    net framework의 모든 버전을 지웠다가 재설치도 해보았지만

    돌아가지 않네요 ㅠ.ㅠ

    • 편집됨 icartsh 2012년 11월 12일 월요일 오전 7:42
    2012년 11월 12일 월요일 오전 7:41