폴더에 어셈블리 .dll이 있습니다. 프로젝트를 열고 해당 파일에 대한 참조를 추가합니다.Visual Studio 2017에서 참조가 후드 아래에서 변경됨
등등, Visual Studio는 출력 폴더 (Debug/Release/Whatever)에 해당 dll을 복사하고, 그곳을 가리 키도록 참조를 변경하고 ... 원래 경로로 prj 파일을 유지합니다.
결과 : 하나, 일부, 모든 dll을 업데이트합니다. Visual Studio는 로컬 dll 만 사용하면되므로 걱정할 필요가 없습니다. 그리고 마술에 추가하기 위해, 만약 내가 Rebuild (Clean과 Build를하는)를하면, 참조가 더 이상 유효하지 않습니다. 왜냐하면 Clean은 복사 된 파일을 제거했기 때문입니다.
왜 이런 방식으로 작동합니까?
다른 VS 프로젝트의 출력 인 구성 요소를 참조하는 경우 생성 된 출력이 아닌 프로젝트를 참조하는 것이 좋습니다. 어쨌든 "참조 로컬"복사를 해제하면 (VS의 "속성"참조) VS가 dll을 프로젝트 출력 폴더로 복사하지 않도록 지시 할 수 있습니다. – Filburt
다른 프로젝트를 참조하는 것은 항상 최악의 방법입니다. 전체 회사가 네트워크 및 코드 버전 시스템을 구성하여 모든 사람이 모든 것을 볼 수 있도록하고 강제로 Visual Studio에서 수십 개 또는 수백 개의 프로젝트를로드해야합니다. 필요 없으며 PC에 부담을줍니다. 소프트웨어를 실행할 때 dll을 찾지 못하기 때문에 로컬 복사 옵션이 작동하지 않습니다. Visual Studio는 원본 소스에서 로컬을 복사하고 해당 원본에 대한 참조를 유지하면서 로컬을 한 번 복사하고 내부적으로 참조를 변경하는 대신 로컬로 복사를 유지해야합니다. – motoDrizzt
둘째로, VS를 강제로 * 모든 빌드에서 * 끌어 오도록 강요하는 옵션을 놓치고있는 것 같습니다. 그러나 프로젝트를 실행할 때마다 VS에서 참조를 끌어 오도록 지시 할 방법이 없습니다. – Filburt