2009-12-09 3 views
2

여러 웹 사이트를 포함하는 C# 솔루션이 있습니다. 이러한 웹 사이트에는 공동 데이터 (예 : 이미지 및 공유 jQuery 확장)가 있습니다. 현재이 데이터는 각 프로젝트에 포함되어 있습니다. 분명히 우리는 동기화 문제를 겪고 있으며 데이터 디렉토리가 커짐에 따라 점점 더 많은 데이터가 이동하고 있습니다. 프로덕션 서버에 실제로 데이터가있는 위치에 대한 링크를 하드 코딩 할 수 있지만 테스트를 위해 임베디드 cassini 서버를 사용하는 것은 말할 것도없고이를 원활하게 수행 할 수 있는지도 잘 알지 못합니다. 작동 할 것이다). 이 작업을 수행 할 수있는 휴대용 및 관리 방법에 대해 간과 해 왔던 부분이 있습니까?Visual Studio 솔루션에서 프로젝트간에 공유해야하는 정적 콘텐츠를 추가하는 방법

명확한 설명 : 디렉토리에있는 공유해야 할 내용 (예 : 이미지/JS /)

답변

4

당신은 링크 된 파일로 프로젝트에 해당 파일을 추가 할 수 있습니다 - 그들은 물리적으로 복사되지 않습니다 그런 식으로 프로젝트 디렉토리에 있지만 프로젝트에 계속 포함됩니다. 한 폴더의 정적 컨텐츠를 유지하는 것에 대해 걱정할 수 있으며 솔루션을 빌드 할 때마다 해당 폴더의 버전을 사용할 것임을 알고 있습니다.

Visual Studio에서 링크 된 파일을 추가하려면 프로젝트를 마우스 오른쪽 단추로 클릭하고 add-> existing file을 클릭 한 다음 파일 선택 대화 상자에서 "add"단추 옆에있는 작은 드롭 다운 화살표를 클릭하고 "Add as link ".

+2

매우 가깝지만 분명히 폴더를 링크로 추가 할 수 없습니다. 질문에 대한 설명을 추가했습니다. 죄송합니다. – OldTroll

+0

모든 프로젝트에서 해당 폴더의 모든 파일이 필요합니까? 그렇지 않다면 특정 프로젝트에 필요한 것을 포함하십시오. 파일을 프로젝트 외부에 보관하고 페이지의 링크를 사용하여 재고 하시겠습니까? 당신은 당신이 asp.net의 Page.ResolveUrl() 같은 것을 사용한다면 그 문제를 해결할 수 있어야한다. 또한 앱이 라우팅 테이블을 사용하도록 변경하거나 디렉토리 구조를 변경하는 경우에도 사용할 수 있습니다. –

0

가장 빠른 솔루션은 프로덕션 서버에서 데이터 디렉터리의 단일 위치를 가리 키도록 가상 디렉터리를 만드는 것입니다.

이것은 다양한 솔루션의 데이터 디렉토리를 모방 한 것입니다.

+0

은 질문과 관련이 없습니다. –

+0

@LeoCai 개발 측면에서 다소 취약한 해결 방법을 만드는 대신 배포 측면에서이 문제를 해결하는 방법을 제안하는 한 질문과 관련이 있습니다. – Filburt

1

나는이 질문이 몇 년 전에 요청되었지만, 받아 들여진 대답은 더 이상 관련이없는 것 같다.

Microsoft는 Universal Windows Store Apps를 도입 했으므로 이제는 공유 프로젝트를 만들고 다른 프로젝트에서도 참조 할 수 있습니다. 이는 표준 라이브러리 클래스를 참조하는 것과 같은 방식입니다.

그러나이 기능은 모든 프로젝트 유형에 대해 기본적으로 지원되지 않습니다.

Visual Studio 갤러리에서 사용할 수있는 공유 프로젝트 참조 관리자 만 설치하면됩니다. 그러면 공유 프로젝트가 새 프로젝트 추가 대화 상자에 나타납니다.