programing

ASP에서 dll.refresh 파일이란 무엇입니까?그물?

i4 2023. 6. 20. 21:21
반응형

ASP에서 dll.refresh 파일이란 무엇입니까?그물?

ASP.Net 웹 프로젝트에서 사용 중인 일부 타사 Dll과 연결된 .refresh 파일이 있는 것 같습니다.그것들이 무엇인지, 그리고 그것들이 언제 어떻게 만들어지는지 아십니까?

이러한 파일은 Visual Studio에서 찾을 위치를 알려주는 문제의 DLL 경로를 제공합니다(텍스트 편집기에서 열 경우 이를 확인할 수 있습니다).프로젝트에 새 참조를 추가할 때마다 생성됩니다.

일반적으로 참조된 DLL의 경로가 Visual Studio 프로젝트 파일을 생성하지 않는 프로젝트 유형을 사용할 때 나타납니다.

여기서:

ASP.NET 프로젝트에서 파일 기반 참조를 추가하면 Bin 폴더에 .refresh 파일이 추가됩니다.프로젝트가 소스 제어 하에 있으면 이 파일이 소스 제어에 추가됩니다. *.dll.refresh빈 디렉터리를 정리하는 파일입니다.외부 참조를 추가할 때마다 바로 옆에 dll.refresh 파일이 있습니다.이것들dll.refresh파일은 규칙의 예외이며 소스 제어로 전환되어야 합니다.이것이 웹 프로젝트가 참조가 어디에 있는지 알 수 있는 유일한 방법입니다.

시행착오 후 파일 새로 고침에 대한 일부 정보입니다.이러한 실험은 Visual Studio 2012에서 수행되었습니다.참조가 C# asp.net 웹 프로젝트에 추가되었습니다.

앞에서 설명한 바와 같이 찾아보기를 통해 어셈블리에 참조를 추가하면 .refresh 파일이 추가됩니다.그러나 추가한 디렉터리의 명시적으로 추가된 DLL에 추가 종속 DLL이 있는 경우 종속 항목도 암시적으로 추가되지만 .refresh 파일은 없습니다!예를 들어 "MyAssembly.dll"에 대한 참조를 추가하면 "MyAssembly.dll.refresh"도 얻을 수 있습니다.그러나 "MyAssembly.dll"이 종속된 "MyDependentAssembly.dll" 어셈블리가 있는 경우 "MyDependentAssembly.dll.refresh"가 표시되지 않습니다.따라서 하나의 어셈블리는 새로 고쳐지지만 종속 요소는 새로 고쳐지지 않습니다!종속성의 역순으로 DLL을 한 번에 하나씩 추가해야 작업이 더 잘 수행됩니다.

조심해야 할 다른 것들."MyAssembly.dll"을 추가하면 "MyAssembly.pdb"도 추가됩니다.또한 "MyAssembly.xml"이 있으면 참조에 추가됩니다."MyAssembly.dll.refresh"가 있으면 이 두 파일도 새로 고쳐집니다.

하지만 Visual Studio는 언제 새로 고침 파일을 찾기로 결정합니까?웹 프로젝트에서 프로젝트 파일은 참조된 DLL을 구체적으로 추적하지 않습니다.프로젝트 파일에 DLL이 나열되지 않고 프로젝트 종속성만 표시됩니다.그래서 새로 고침은 언제 하나요?

새로 고침이 발생할 때는 참조된 어셈블리를 로드해야 하는 빌드 중입니다.즉, 미리 구축된 업데이트 가능한 웹 사이트를 구축하는 것이 모든 DLL을 가져오지는 않을 수도 있습니다.계속해서 새로 고쳐지지 않는 DLL이 있었는데 .ascx 파일 내부에서만 사용되고 있다는 것을 깨달았습니다.MSBuild Options 프로젝트 페이지에서 "사전 컴파일된 사이트를 업데이트할 수 있도록 허용" 확인란의 선택을 취소하면 문제가 해결되었습니다.

코드에 반영을 통해 로드되는 참조 DLL을 추가해도 참조를 통해 업데이트되지 않습니다.빌드 이벤트를 사용하여 bin 디렉토리에 복사해야 합니다.

언급URL : https://stackoverflow.com/questions/4089165/what-is-a-dll-refresh-file-in-asp-net

반응형