.Net C# 프로젝트를 여러 dll로 컴파일하려고합니다. 하지만 여기에 문제가 있습니다.하나의 프로젝트를 .NET에서 여러 dll로 컴파일하는 방법
이것은 내 프로젝트 구조입니다.
Bin
Dir1
Dir2
File1.cs
File2.cs
myproject.csproj
이 프로젝트를 File1.dll 및 File2.dll로 컴파일하려고합니다. File1.dll과 File2.dll은 Dir1과 Dir2에있는 다양한 .cs 파일에서 코드를 사용합니다. 하위 디렉터리에있는 .cs 파일의 이러한 클래스 중 일부는 File1.cs에서 필요하며 다른 클래스는 File2.cs에서 필요합니다. File1.cs 및 File2.cs에서 사용되는 일부 파일이 있습니다.
csc /t:library /out:File1.dll /recurse:*.cs
csc /t:library /out:File2.dll /recurse:*.cs
그러나 결과 DLL을 그냥 다른 파일 이름으로 서로의 정확한 복사본과 같다 :
나는 다음과 같은 사용. 내가 그들을 위해 개체를 브라우저에서 각 dll을 검사 할 때 Dir1 및 Dir2 File1..dll File1.cs 및 유사하게 참조되는 .cs 파일에서 클래스를 검사 할 수 있도록 그들을 컴파일하는 방법이 있나요? File2.dll?저는 이것을 Visual Studio의 게시 빌드 단계의 일부로 선호하고 싶습니다. 시간에 대한
감사합니다 ...
편집 모든 응답을
감사합니다. 해결책을 여러 프로젝트로 나눌 수있는 많은 제안이있었습니다. 그게 한 가지 방법이지만, File1.dll과 File2.dll과 같은 두 dll에 대해 만들어진 종속성을 원한다면 나는 확신 할 수 없습니다. 설명해 드리겠습니다.
여러 프로젝트를 만들 때 나타나는 문제점은 File1.cs와 File2.cs에 필요한 코드가 있다는 것입니다. 나는 두 프로젝트에서 그것들을 반복하기를 원하지 않는다. 세 번째 프로젝트에서 공용 코드를 유지하면 File1.dll과 File2.dll에 모두 필요한 세 번째 dll이 만들어집니다. 나는 이것을 원하지 않는다. 나는 File1.dll과 File2.dll 만 만들어서 하나의 프로젝트에서 둘 다 유지하고 싶습니다. 이 문제를 어떻게 해결할 수 있을지에 대한 제안이 있으십니까?
답장을 보내 주셔서 다시 한 번 감사드립니다.
건배.
각 'dll'에 기여할'.cs' 파일을 지정해야합니다. 이러한 프로젝트가 하나의 프로젝트에 있기 때문에 기대하지 않았던 종속성이 있음을 알 수 있습니다. – Oded
감사합니다. 그러나 그것은 프로젝트 내용이 바뀔 때마다 필자의 스크립트를 잠재적으로 변경해야 할 필요가 있음을 의미 할 것입니다. 또는 최소한 전체 프로젝트의 변경 사항을 수동으로 분석하십시오. 참조 된 클래스를 자신이 속한 파일/폴더에서 자동으로 연결할 수있는 스위치가 있습니까? 모든 파일을 매번 포함시키지 않고 VS에서 프로젝트를 빌드 할 때마다 새 파일을 참조해야합니다. – user20358
맞습니다. 또는 내장 된 것과 다른 빌드 시스템을 사용하십시오.하지만 동기화 된 상태로 유지해야합니다. 프로젝트를 여러 개로 나누는 것이 가장 쉽습니다. – Oded