문제

내가 무엇인지 궁금해하는 가장 좋은 방법을 제대로 만들기 개발 및 생산 환경에 대한 내 C#winforms 프로젝트입니다.불행한 일이 없다는 것입니다 개발환경 통합관리가 가능합니다.오히려 나를 지정해야 합 게시 경로 각 시간이 나를 만들거나 생산 또는 Development build.또한 각각 자극이나 dev 구축을 사용하는 다른 연결 문자열 난 다음 코드를 변경 뿐만 아니라.

편집 다른 일을 추가하고 싶다는 사실'테스터는'이렇게 말하는 것이 실행되는 프로그램에서 로컬입니다.exe 에 소스 파일을 탐지하는 경우 업데이트 요구를 만들 수 있습니다.유일한 이유는 내가 이것을 언급하기 때문입 테스터는 실행되지 않는 코드에서는'디버그는'모드입니다.

어떤 아이디어가?

사전에 감사합니다!

도움이 되었습니까?

해결책

업데이트

WHEW, 2009 확실히 오래 전이었다;) 나는 후손에 대한 원래의 답을 남기 겠지만, Eric J.는 이미 2012 년 그의 게시물의 업데이트 버전으로 언급했습니다., 슬로우 치타 구성 당 여러 구성 파일을 생성 할 수 있으므로이 문제에 대한 훨씬 유연한 접근 방식입니다.

원래 답변

내가 할 수 있는지 확실하지 않으므로 게시 부분에 대해 대답 할 수 없습니다. 그러나 Connection String 부분의 경우 개발중인 경우 개발 연결 문자열을 반환하는 "Connection String Provider Class"또는 프로덕션에있는 경우 프로덕션 연결 문자열을 만들 수 있습니다.

구성 관리자에서 디버그 및 릴리스 컴파일 모드를 사용하고 있는지는 모르겠지만 프리 컴파일러 지침과 함께 사용할 수 있습니다.

public class ConnectionStringProvider
{
  public static string GetConnectionString()
  {
    #if (DEBUG)
      return DevConnectionString;
    #else
      return ProdConnectionString;
    #endif
  }
}

VS2005 설정 창 (프로젝트 설정에서)을 사용하는 경우 2 개의 연결 문자열을 설정하고 일정한 값 대신이를 사용할 수 있습니다. .NET DataSource를 사용하는 경우 항상 Dev Connection String을 사용하여 객체를 만들 수 있습니다.

또한 Connection String 제공 업체는 싱글 톤 패턴을 사용할 수 있지만 실질적인 이점이 있는지 확실하지 않습니다.

다른 팁

나는 당신이 무슨 뜻인지에

불행한 일이 있다는 것입 no 개발환경 통합관리가 가능합니다.

그러나 나는 지적 처리할 수 있는 것처럼

또한 각각 자극이나 dev 빌 사용 다른 연결 문자열을 나 다음 코드는 뿐만 아니라.

조건부 컴파일과 플래그입니다.예를 들어할 수 있도록 다음과 같습니다.

#if DEBUG
connString = "ABC";
#else
connString = "DEF";
#endif

디버그되지 않을 수 있는 적절한 깃발의 환경에 가장 적합합니다.정의할 수 있습니다 당신의 자신의 플래그와 같은 자극이나 DEV 는지 여부를 지정하여 그들을 정의한 특정 빌드 유형,또는 명령행에서는 경우에는 건물의 외부에 IDE 입니다.

업데이트

이후 원래 이 게시 답변, SlowCheetah 유효하게 되었습니다.할 수 있습 XML 변환하는 방법을 소개한 바 있습니다.config/웹.config(그리고 다른 어떤 XML 파일과 같은 NLog 구성 파일)를 당 구축 구성이 있습니다.그래서,당신은 당신이 말 QA 구성할 수 있습 XML 변화에 대한 품질보증을 설정 예:적절한 연결 문자열에 대한 QA 환경입니다.

선호하는 배치 구성 문자열 및 이와 유사한에서 소스 코드입니다.

구성 파일에서 연결 문자열을 읽을 수 있습니다.

그런 다음 Prod 및 Dev에서 동일한 프로그램 파일을 다른 구성 파일 만 사용합니다.

가상 PC를 사용하여 별도의 환경을 만드는 것은 어떻습니까? 그것은 이제 모범 사례입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top