문제

ASP.NET 프로젝트에 대한 참조로 DLL을 추가 할 때 VS2008은 BIN 디렉토리에 여러 파일을 추가합니다. dll을 foo.dll이라고 불리면 vs2008은 foo.dll.refresh, foo.pdb 및 foo.xml을 추가합니다. foo.dll이 무엇인지 알고 있습니다 :-), vs2008이 다른 세 파일을 추가하는 이유는 무엇입니까? 이 세 파일은 무엇을합니까? 삭제할 수 있습니까? 소스 컨트롤에 추가해야합니까?

도움이 되었습니까?

해결책

소스 제어 :

Ben Straub 은이 게시물에 대한 의견에서 다음과 같이 말했습니다. .dll.refresh 필요한 경우 파일이 소스 컨트롤에 추가되어야하며 .xml, .pdb 그리고 물론 .dll 파일을 추가해서는 안됩니다.

John Rudy는 언제 추가 할시기를 설명했습니다 .refresh 파일:

이것이 왜 (때로는) 좋은 일입니까? 당신이 팀 환경에 있다고 가정 해 봅시다. 누군가가 foo.dll에 대한 코드를 확인하고 빌드 시스템은 새 DLL을 빌드하여 서버의 파일 공유로 출력합니다. 새로 고침 파일은 DLL의 해당 서버 사본을 가리 킵니다. 다음에 빌드 할 때 VS는 해당 DLL의 최신 및 가장 큰 사본을 자동 마이크로 마이크로 가져옵니다.

.xml David Mohundro가 말했듯이 :

XML 파일은 XML 주석과 IntellIsense 용입니다. Visual Studio는이를 구문 분석하고 해당 DLL에서 메소드를 호출 할 때 추가 된 XML 주석을 표시합니다.

.pdb David Mohundro가 말했듯이 :

PDB는 디버깅 및 기호를위한 것이 있습니다. 예외가 발생하면 스택 트레이스 등을 얻을 수 있습니다. PDB가 구축되었는지 여부를 선택할 수 있습니다.

.새로 고치다 .refresh 파일에 대한 블로그 게시물에서 :

기본 이름이 동일한 업데이트 된 DLL 버전을 찾을 위치를 알려줍니다. 그것들은 텍스트 파일, 당신은 그것들을 열고 사용중인 경로를 볼 수 있습니다.

그들의 목적은 새로운 버전을 직접 복사하지 못하게하는 것입니다. VS2003에서 프로젝트 파일에는 참조의 소스 위치가 포함되지만 VS2005는 ASP.NET 프로젝트에 프로젝트 파일을 사용하지 않으므로 해당 특정 기능을 대체합니다.

다른 팁

새로 고침 파일 (아직 아무도 그에 맞지 않기 때문에!)은 DLL이 어디에서 왔는지 설명합니다. 이것은 자동 비공개 참조를위한 것입니다. 전체 빌드를 수행 할 때마다 VS는 해당 경로를보고 해당 버전의 DLL을 복사합니다.

이것이 왜 (때로는) 좋은 일입니까? 당신이 팀 환경에 있다고 가정 해 봅시다. 누군가가 foo.dll에 대한 코드를 확인하고 빌드 시스템은 새 DLL을 빌드하여 서버의 파일 공유로 출력합니다. 새로 고침 파일은 DLL의 해당 서버 사본을 가리 킵니다. 다음에 빌드 할 때 VS는 해당 DLL의 최신 및 가장 큰 사본을 자동 마이크로 마이크로 가져옵니다.

PDB는 디버깅 및 기호를위한 것이 있습니다. 예외가 발생하면 스택 트레이스 등을 얻을 수 있습니다. PDB가 구축되었는지 여부를 선택할 수 있습니다. XML 파일은 XML 주석과 IntellIsense 용입니다. Visual Studio는이를 구문 분석하고 해당 DLL에서 메소드를 호출 할 때 추가 된 XML 주석을 표시합니다.

새로 고침 파일에 대해 모르겠습니다.

foo.pdb는 foo.dll의 디버거 기호 파일입니다. 원하거나 해당 코드에서 중단 점을 설정할 수 없습니다.

VS2008은 BIN 디렉토리에 여러 파일을 추가합니다 [...] 소스 컨트롤에 추가해야합니까?

빈 디렉토리의 소스 컨트롤에 추가 할 필요가 없습니다. 프로젝트를 처음에 확인할 때 가장 먼저 된 것 중 하나는 빈 및 OBJ 디렉토리를 무시하는 것입니다. 그렇습니다. 이러한 파일을 삭제할 수 있지만 Visual Studio는이 파일을 재현합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top