ASP.Net Core 1.0 RC2 : web.config에서 RUCHER_PATH와 RUCHER_ARGS가 언급된 것은 무엇입니까?
ASP에 변경 사항이 있습니다.NET 5 RC2 릴리스:
- ASP로 브랜드가 변경되었습니다.NET Core 1.0(ASP).NET 5가 작동하지 않음)
- 잘가요.
dnvm
그리고.dnu
명령줄이 다음으로 대체됩니다.dotnet
- 필요한 다양한 코드 변경
생성된 파일을 배포하려고 합니다.dotnet publish
파일 구조가 RC1과 다릅니다.이벤트 뷰어에 다음 오류가 표시됩니다.
Failed to start process with commandline '%LAUNCHER_PATH% %LAUNCHER_ARGS%', Error Code = '0x80070002'.
이러한 환경 변수는 다음에 설명되어 있습니다.web.config
공식 rc1-to-rc2 문서에서 가져온 것입니다.
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*"
modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="false"/>
</system.webServer>
</configuration>
올바른 값은 무엇입니까?%LAUNCHER_PATH%
그리고.%LAUNCHER_ARGS%
이러한 값은 Github 게시 문서에 언급되지 않았습니다.
github IISample(감사합니다 @Pawel 및 Luke)에서 얻을 수 있는 가치 가능성은 다음과 같습니다.
<!-- This set of attributes are used for launching the sample using IISExpress via Visual Studio tooling -->
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
<!-- This set of attributes are used for launching the sample for full CLR (net451) without Visual Studio tooling -->
<aspNetCore processPath=".\IISSample.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
<!-- This set of attributes are used for launching the sample for Core CLR (netcoreapp1.0) without Visual Studio tooling -->
<aspNetCore processPath="dotnet" arguments=".\IISSample.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
몇 시간 동안 이들을 처리한 후, 저는 우리가 처리해야 할 두 개의 web.config가 있다는 것을 알게 되었습니다.src\ProjectName\wwwroot\web.config
그리고.src\ProjectName\web.config
만약 당신이 후자를 가지고 있지 않다면, VS2015 게시는 당신을 위해 하나를 생성할 것입니다.%LAUNCHER_PATH%
그리고.%LAUNCHER_ARGS%
결석으로
VS2015에서 II Express를 통해 로컬로 프로젝트를 실행하고 디버깅할 수 있도록 하려면 web.config 모두 아래의 기본값을 가져야 합니다.RUNCHER_PATH 및 RUNCHER_ARGS를 다른 항목으로 바꾸면 VS2015가 무기한 중단됩니다.
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
그러나 IIS(WinServer 2012 R2에서 8.5 사용)에 배포할 때의 값src\ProjectName\web.config
다음으로 대체해야 합니다.구성된 경우,dotnet publish-iis
명령은 사용자를 대신하여 교체를 수행한다고 가정합니다(아래 참조).
<aspNetCore processPath="dotnet" arguments=".\ProjectName.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
RC1에서 마이그레이션하는 경우 http 바인딩된 디렉토리도 wwwroot이 아닌 Project root 폴더로 변경합니다.예: 출처C:\inetpub\ProjectName\wwwroot
로.C:\inetpub\ProjectName
.
구성 방법 publish-iis
자동 교체를 수행하려면 이 스니펫을 프로젝트에 추가하십시오.json: (감사합니다 @Pawel)
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": {
"version": "1.0.0-preview1-final"
}
},
"scripts": {
"postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
}
II 통합 도구 세그먼트는 이러한 시작 프로그램 변수를 적절한 배포 값으로 변환합니다.그렇지 않으면 다음 오류가 발생합니다.
No executable found matching command "dotnet-publish-iis"
RC2 Toolkit Preview 1을 사용하고 있습니다.
그%LAUNCHER_PATH%
그리고.%LAUNCHER_ARGS%
VS에서 사용합니다. 응용 프로그램을 게시할 때 publish-iis 도구(구성된 경우)가 해당 도구를 재정의합니다.
VS:의 web.config에 포함되어 있습니다.
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="false"/>
다음은 게시 후 서버에 표시됩니다.
<aspNetCore processPath="dotnet" arguments=".\AppName.dll"
stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout"
forwardWindowsAuthToken="false" />
이 예에서는%LAUNCHER_PATH%
로 대체됨dotnet
,그리고.%LAUNCHER_ARGS%
타고application name
와 함께.dll
연장
여러분, 도와주셔서 감사합니다. 저는 템플릿(https://github.com/MarkPieszak/aspnetcore-angular2-universal) 과 명령어를 사용하고 있었습니다.
dotnet publish
아래에 폴더를 만들었습니다.
bin/Debug/netcoreapp1.1/publish
이 경로를 사이트의 루트 디렉터리로 설정하면 작동합니다!
언급URL : https://stackoverflow.com/questions/37463186/asp-net-core-1-0-rc2-what-are-launcher-path-and-launcher-args-mentioned-in-web
'programing' 카테고리의 다른 글
IntelliJ의 Shelve와 Gitstash의 차이점은 무엇입니까? (0) | 2023.08.10 |
---|---|
인쇄란(f"...) (0) | 2023.08.10 |
C에서 문자열을 클립보드에 복사하는 방법은 무엇입니까? (0) | 2023.08.10 |
php의 시간대 변환 (0) | 2023.08.10 |
입력/쓰기를 중지한 후 입력 텍스트에서 이벤트를 트리거하는 방법은 무엇입니까? (0) | 2023.08.10 |