2012-04-04 4 views
1

저는 설치 프로그램과 빌드 할 exe가 2 개있는 vb.net 프로젝트가 있습니다. 두 exe는 공통 파일들을 공유합니다. 공통 파일을 두 장 복사하거나 주변을 복사하는 이벤트를 만들지는 않습니다 (가능한 경우).VS2010 공용 파일이있는 프로젝트

내 방법은 동일한 폴더에 두 개의 프로젝트를 만들고 필요한 파일을 가리 키도록하는 것이 었습니다. 이것은 어느 시점에서 Application.Designer.vb라는 파일에서 오류가 발생하는 두 애플 리케이션을 컴파일하려고 할 때까지 작동하는 것처럼 보였다. 그것은 프로젝트 파일을 자신의 폴더에이 파일을 만드는 것 같고 내가 갈등 같은 폴더에 두 가지 솔루션을 가지고.

그래서 내 다음 프로젝트는 자체 폴더에 두 번째 프로젝트를 만들고 필요에 따라 항목을 추가하는 것이 었습니다. 여기서 문제는 VS2010이 파일을 다른 프로젝트 폴더에 복사하는 다른 폴더에있는 파일에 대한 링크를 보유하지 않는다는 것입니다.

이 작업을 수행하는 vs2010 방법은 무엇입니까?

답변

3

두 번째 프로젝트를 만들 때 거의 다 왔었습니다. 두 번째 프로젝트에 파일을 추가하는 대신 파일을 링크해야합니다.

VS를 추가하면 VS가 원본 파일을 현재 프로젝트의 디렉터리에 복사합니다.

파일을 링크하면 현재 위치에 그대로두고 파일에 대한 참조 만 프로젝트에 추가합니다. 즉, 여러 사본 대신 단일 소스 파일로 작업하고 있음을 의미합니다.

는 파일을 링크 Project 메뉴에서 Add Existing Item... 메뉴 항목을 선택하면 링크 할 파일을 선택하고 파일 대화 상자에서 Add 버튼 옆에있는 드롭 다운 화살표를 클릭하고 Add As Link을 선택합니다.

우리는 Windows Forms, Silverlight, ASP.Net, Services 및 PocketPC를 포함한 여섯 개의 프로젝트 중에서이 방식으로 공유되는 클래스 파일을 보유하고 있습니다.

+0

이것은 내가 찾고있는 것입니다. 추가 버튼이 화면의 링크 버튼으로 바뀔 수 있다는 것을 전혀 모릅니다. 모든 것이 제대로 작동하려면 몇 분이 걸렸습니다. 감사! – Hucker

+0

폴더는 어떻습니까? 나는 이미지와 같은 공유 리소스가 많다는 것을 의미한다. – maxisam

+1

@maxisam : 내가 일반적으로 이와 같은 경우에 수행하는 작업은 실제로 모든 리소스를 공용 DLL에 추가 한 다음 공통 DLL을 필요로하는 모든 응용 프로그램에서 공유하는 것이다. –

3

가장 쉬운 해결책은 모든 공통 사항을 공통 프로젝트로 이동하고 다른 두 솔루션의 프로젝트를 참조하는 것입니다.

  • 솔루션 A :
    • 을 투사
    • 프로젝트 C
  • 솔루션 B :
    • 프로젝트 B
    • 프로젝트 C

어쨌든 권장 사항입니다.

+0

나는 DLL 프로젝트에 공통 파일을 빌드하고 각 프로젝트에 DLL을 포함시켜야한다고 말하지 않는 한 어떻게 도움이되는지 알지 못한다. 나는 그것이 가능하다고 생각하지만 그것은 단순한 것으로 보이는 것에 비해 지저분 해 보인다 ... 다른 폴더에 파일을 가지고있다. 그게 최선의 해결책이라면, 내가하고있는 일을 재고 할 필요가 있습니다. 감사! – Hucker

+0

@Hucker - 기본적으로 그렇습니다. 기술적으로 파일을 "링크 된"파일로 만들어 공유 할 수 있지만 너무 복잡합니다. 제 의견으로는 ** 한두개 ** 리소스 ** 이상을 갖기 시작하면 DLL 프로젝트가 필요합니다. 반드시 지저분하지는 않습니다 ...특히 현재 작업하고있는 것보다 적은 작업을 의미하는 경우) – Josh

관련 문제