C# 다중 프로젝트 질문

안녕하세요. 저는 C#으로 인스톨러를 제작중입니다.

근데 인스톨러를 나중에도 사용하기 위해서 하나의 인스톨러를 만들기 위한 툴을 제작하고 있습니다.

저는 하나의 솔루션에 2개의 프로젝트를 생성했고

각각 이름은

-GloomnInstaller

-InstallerConfig입니다.

저는 InstallerConfig에서 버튼을 누르게 되면 GloomnInstaller프로젝트가 빌드가 되고 생성된 exe파일이 지정한 폴더로 이동했으면 좋겠습니다.

제발 방법 좀 알려주세요ㅠ

좋아요 1

구체적인 답변을 드릴 수 있으려면 상황 설명을 좀 더 자세히 명확하게 주셔야 할 것 같습니다. 대략적으로 이해한 것으로는, .NET Framework을 쓰거나 .NET Core 및 . .NET 5를 쓰시는지에 따라 답이 좀 달라질 것 같고요, 둘다 스크립트로 빌드가 가능하므로 원하시는 기능을 구현하실 수 있을텐데 정확히 어떤 부분이 막히시는지 좀 더 자세히 말씀 부탁드립니다.

좋아요 1

굳이 인스톨러를 제작하시는 이유가 있으신가요?
WIX 라고 하는 MS 인스톨러가 있는데 이걸 사용해 보시는건 어떨까요?
위에 말씀하신 기능들이 모두 지원됩니다.

좋아요 1

저는 .net framwork를 사용하고 있구여, winform 프로젝트 2개를 생성해서 InstallerConfig 폼에서 인스톨러 이름, 내용, 라이센스 등을 편집해서 컴파일하면 gloomnInstaller.exe가 지정된 폴더로 갔으면 좋겠습니다. 그리고 프로젝트간의 상호작용도 잘 모르겠습니다. InstallerConfig파일에서 GloomnInsatller의 Form 타이틀을 바꾼다던가, textbox 내용을 바꾼다던가 말이죠…

좋아요 1

저는 제가 직접 개발하는 것에 이의를 두고 있어서 실생활에서 쓰는 타이머, 날씨앱, 메모장 등등을 제가 만들어서 사용하고 깃허브에도 올리죠… 저는 항상 하나의 솔루션에 하나의 프로젝트를 생성하기 때문에 하나의 솔루션에 2개의 프로젝트를 어떻게 상호작용 시키는지를 잘 모르겠습니다;; 구글링만 벌써 일주일째인데 쓸만한 자료들이 많이 안나오더라구여…

좋아요 1
  1. msbuild로 검색하시면 관련된 글들이 많이 나옵니다. 먼저 콘솔에서 컴파일하여 원하는 위치에 exe파일을 생성하는 것부터 접근해보세요.
  2. 프로젝트의 상호작용은 참조를 통해 가능한데요, gloomn님의 목적으로는 참조 보다는 설정파일이나 리소스를 수정한 뒤 컴파일하여 달성할 수 있습니다. 제 생각에는 리소스를 이용하는게 exe파일로 딱 떨어지게 만들 수 있을 것 같네요. 테스트는 설정파일을 리소스로 설정한 뒤 잘 읽혀지는지를 테스트하고, 외부에서 (여기서는 InstallerConfig가 되겠네요) 해당 리소스 파일을 수정한 뒤, msbuild 하여 목적지에 실행파일을 생성하도록 하면 됩니다.
좋아요 1

감사합니다. 한번 해보도록 하겠습니다!
근데 리소스는 InstallerConfig에서 추가하여 GloomnInstaller에 참조로 엮어야 하나요?

좋아요 2

리소스는 GloomnInstaller에 위치해 있어야 하고요. 리소스의 구조에 접근하기 위해 참조를 할 필요성이 있을 수도 있는데 이럴때는 보통 직접 참조하지 않고 별도의 공통 참조 프로젝트를 생성해서 해당 기능을 구현하는게 일반적입니다. 파일을 직접 핸들링 하실꺼면 프로젝트 참조는 필요 없어 보입니다.

좋아요 2

공통 참조 프로젝트가 공유 프로젝트인가요?

좋아요 1