Visual Studio가없는 ASP.NET 응용 프로그램에서 참조를 어떻게 새로 고치나요?

StackOverflow https://stackoverflow.com/questions/868559

  •  22-08-2019
  •  | 
  •  

문제

GAC에없는 외부 어셈블리에 의존하는 ASP.NET 응용 프로그램이 있습니다. 앱에는 앱을 컴파일 할 때 어셈블리를 BIN 디렉토리에 복사하는 .refresh 파일이 있습니다.

제작 서버에 앱을 설치할 때 (앱 파일을 가상 디렉토리에 복사하여) BIN 디렉토리는 내가 생각했던 것처럼 .refresh 파일이 있으면 자동으로 업데이트되지 않습니다. ASPNET_COMPILER 도구를 사용해 보았지만 어셈블리가 이미 빈 디렉토리에있을 것으로 예상되기 때문에 작동하지 않습니다.

Visual Studio없이 .NET을 얻으려면 앱의 빈 디렉토리를 업데이트하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

.refresh 파일은 바로 거기에 있으므로 대 VS가 원본을 추적해야한다는 것을 알 수 있도록하고 변경된 경우 새 버전을 /빈 폴더에 복사하십시오. 원본으로가는 경로가있는 텍스트 파일 일뿐입니다. 수정 된 날짜는 비교에 사용됩니다.

당신이 말할 때:

제작 서버에 앱을 설치하면 (앱 파일을 가상 디렉토리에 복사하여) BIN 디렉토리가 자동으로 업데이트되지 않습니다.

정확히 무슨 뜻입니까? 빈 디렉토리의 내용을 프로덕션 서버에 복사하지 않습니까? 응용 프로그램과 함께 종속 어셈블리를 배포해야합니다.

다른 팁

ASP.NET의 캐시 디렉토리를 지우는 것이 도움이 될 수 있습니다.

C:\WINDOWS\Microsoft.NET\Framework\
FRAMEWORK_VERSION\Temporary ASP.NET Files\YOUR_APP_NAME

.refresh 파일을 삭제하십시오.

간단한 빌드 스크립트를 만드십시오 (CMD, Nant, Rake, Psake를 원하는 것을 사용하여) :

  • 해당 파일을 ASP.NET 앱 폴더에 복사하십시오
  • ASP.NET 앱을 빌드하십시오.

또는 .csproj 파일을 편집하고 다음과 같은 것을 추가 할 수 있습니다.

<ProjectExtensions>
  <PropertyGroup>
    <PreBuildEvent>copy c:\path\to\dll\files $(ProjectDir)$(OutDir)</PreBuildEvent>
  </PropertyGroup>
</ProjectExtensions>

이렇게하면 DLL 파일을 ASP.NET 앱의 출력 DIR에 복사하는 사전 빌드 작업이 추가됩니다. MSBuild로 구축해야합니다

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