MS Visual Studio 2008을 사용하여 두 번째 라이브러리 (helper.dll)를 사용하는 C# 라이브러리 (main.dll)를 만들었습니다. main.dll의 디버그 버전에서 helper.dll의 디버그 버전에 대한 참조를 설정합니다. 그러나 main.dll의 Release 버전을 빌드하기 위해 전환 할 때 출력 폴더에는 여전히 helper.dll의 디버그 버전이 포함됩니다. 다른 빌드 유형에 대해 helper.dll의 다른 버전을 선택할 수있는 방법이 없습니다. C++에서 링커에게 파일을 가져올 폴더를 알려줄 수는 있지만 C#에서는 그렇게 할 수있는 방법이 없습니다.어떻게 디버그 대 릴리스 라이브러리를 자동으로 선택합니까?
답변
디버그에서 릴리스로 전환하면 Visual Studio는 출력을 위해 bin 폴더에서 Debug에서 Release로 전환합니다.
main.dll의 경우 "항상 복사"속성을 true로 설정하십시오. 이렇게하면 해당 출력 폴더로 복사되고 항상 참조됩니다.
두 번째 라이브러리 helper.dll
이 같은 솔루션에서 동시에 빌드되는 경우 .dll을 직접 참조하는 대신 프로젝트 참조를 사용할 수 있습니다. 그런 다음 Release
모드에 대한 솔루션 수준 구성을 설정하고 그런 식으로 Release
모드에서 두 프로젝트를 빌드 할 수 있습니다.
왜 이것을 다운 그레이드 했습니까? –
이 작업을 수행하는 일반적인 방법은 모든 프로젝트를 단일 솔루션에 포함시키고 프로젝트 참조를 사용하는 것입니다. 그런 다음 Debug에서 빌드하면 모든 구성 요소가 빌드되고 디버그로 참조되며 Release와 마찬가지로 참조됩니다.
또는 모든 어셈블리에 단일 출력 폴더를 사용하고 거기에서 각 바이너리를 참조하고 빌드 순서가 올바른지 확인하여 main.dll
이 빌드되기 전에 helper.dll
이 해당 폴더에 빌드되도록 할 수 있습니다. 그러나 이것은 실패하는 경향이 더 큽니다. 수동 유지 보수가 더 많이 필요합니다.
main.dll이 여러 솔루션에서 사용되기 때문에 모든 솔루션을 하나의 솔루션으로 사용하는 것을 정말 싫어합니다. 이것이 제가 생각하기 시작한 모든 이유입니다. Solution1이 프로젝트 Main을 사용한다면 Project Helper를 사용해야합니다. 나는 그것을하고 싶지 않다. Solution1에 프로젝트 Main을 사용하고 Main 프로젝트가 자동으로 프로젝트 도우미의 올바른 버전을 가져 오도록하고 싶습니다. 오, 글쎄요. 그다지 큰 거래가 아니며, 내가 공상을 얻으려고한다면, 나는 혼란에 빠지게되는 동료들만을 끝내게 될 것입니다. 답장을 보내 주셔서 대단히 감사합니다. –
왜 downvote? –
- 1. 릴리스 대 디버그 빌드
- 2. C# 디버그 대 릴리스
- 3. 정적 libary 디버그 대 릴리스
- 4. 아이폰의 디버그 대 릴리스 모드
- 5. 디버그 대 릴리스 dll 크기
- 6. TFS에서 디버그 대 릴리스 빌드?
- 7. 디버그 대 릴리스 빌드 ?? xcode
- 8. Memcpy 대 Memmove - 디버그 대 릴리스
- 9. Interlocked.Increment와 디버그 대 릴리스 모드의 잠금
- 10. iOS 모바일 빌드 디버그 대 릴리스
- 11. 두드러진 성능 차이 : 디버그 대 릴리스
- 12. 릴리스 대 v 전 디버그 빌드
- 13. 디버그 대 릴리스 모드에서 Java의 상수 변경
- 14. VS2013 빌드를 사용하여 릴리스 대 디버그 MVC5
- 15. Android : 디버그 대 릴리스 (SDK) 성능
- 16. 이상한 CoreData 디버그 대 릴리스 문제
- 17. 릴리스 대 디버그 모드에서 코드가 다르게 동작합니다.
- 18. 디버그 빌드가있는 라이브러리 관리/사용 대 릴리스 빌드
- 19. 릴리스 Qt 디버그
- 20. 디버그 대 릴리스 라이브러리 버전은 디버그/릴리스 클라이언트 응용 프로그램과 다른 동작을합니다.
- 21. NSURLConnection은 대리자를 자동으로 선택합니까?
- 22. Visual Studio 2012에서 OpenCV 2.4.5 연결 디버그 대 릴리스
- 23. Android 디버그/릴리스 버전의 애플리케이션
- 24. Visual Studio 2012는 빌드 중에 릴리스 대신 디버그 라이브러리를 사용합니다.
- 25. iPhone에서 릴리스/디버그를 위해 하나의 정적 라이브러리를 어떻게 생성합니까?
- 26. 릴리스 및 디버그
- 27. 디버그/릴리스 빌드 확인
- 28. 릴리스 EXE로 디버그 DLL
- 29. 릴리스 모드의 디버그 기호
- 30. C++ 디버그 릴리스 버전
Dan Puzey의 답변에 추가 한 댓글에서 본질적으로 질문을 변경 한 다음 추가 된 새로운 세부 정보와 일치하지 않기 때문에 답변을 아래로 보냈습니다. 그것은 가난한 형태입니다. –