Windows에서 ASP.NET Core를 소스에서 빌드하고 테스트
4872 단어 ASP.NET_Core
Windows에서만 시도하고 있지만 macOS의 경우 아마 그렇게 곤란한 일도 없다고 생각합니다.
사용한 편집기는 Visual Studio Code(vscode)입니다.
2019/6/27 시점에서의 정보입니다.
참고: Build ASP.NET Core from Source
소스 다운로드
git clone --recursive https://github.com/aspnet/AspNetCore
필수 도구 설치
Visual Studio2019의 필수 구성 요소와 JDK에 대한 다운로드를위한 스크립트가 제공됩니다.
PowerSherll에서 ASP.NET Core를 다운로드한 폴더를 열고 다음 명령을 실행합니다.
# VisualStudio 2019の必須コンポーネントインストール
# デフォルトではEnterpriseが使用される
PS> ./eng/scripts/InstallVisualStudio.ps1
# Communityを使用する場合は引数にCommunityをつける
PS> ./eng/scripts/InstallVisualStudio.ps1 Community
# JDKのインストール
PS> ./eng/scripts/InstallJdk.ps1
빌드
공식에서는 이하의 커멘드를 사용하면 좋다고 쓰여지고 있습니다만 자신의 환경에서는 잘 되지 않았습니다.
.\restore.cmd
.NET Core MSBuild를 사용하는 환경 변수
VCTargetsPath
를 설정하면 오류가 발생하지 않습니다.# "VCTargetsPath" に "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140" をセットした状態で下記のコマンドを実行
.\restore.cmd -ForceCoreMsBuild
테스트
vscode에서 열 때마다 PowerShell을 사용하여 다음 명령을 실행합니다.
# 先頭の"."は必要なので注意
. .\activate.ps1
# グローバルなソリューションは存在しないのでソリューションが存在するフォルダを指定して開く
code .\src\components
이 상태에서 테스트 소스를 열면
Run Test
또는 Debug Test
를 실행할 수 있습니다.(프로젝트를 분석하는 데 시간이 걸릴 수 있습니다. 문제가 있는지 여부는 문제 탭에서 확인하십시오.)
덤 : AspNetCore-Tooling
Razor 관련 소스의 대부분은 AspNetCore 리포지토리가 아닌 AspNetCore-Tooling 리포지토리에 있습니다.
AspNetCore-Tooling의 테스트 방법은 기본적으로 위와 동일하지만 몇 가지 다른 부분이 있습니다.
다음 사항에 유의하십시오.
restore.cmd
에서 -ForceCoreMsBuild
대신 -msbuildEngine dotnet
를 지정합니다..\restore.cmd -msbuildEngine dotnet
디폴트의 상태와 테스트에 .NET Framwork를 사용해 버려 디버그 할 수 없기 때문에 강제적으로 .NET Core를 사용시킨다.
(적절하게 props 파일을 편집합니다.)
src\Razor\test\Directory.Build.props
<Project>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory).., Directory.Build.props))\Directory.Build.props" Condition="'$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))'!= ''" />
<PropertyGroup>
<ExcludeFromSourceBuild>true</ExcludeFromSourceBuild>
<DeveloperBuildTestTfms>netcoreapp3.0</DeveloperBuildTestTfms>
<StandardTestTfms>$(DeveloperBuildTestTfms)</StandardTestTfms>
- <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' ">$(StandardTestTfms)</StandardTestTfms>
- <StandardTestTfms Condition=" '$(DeveloperBuild)' != 'true' AND '$(OS)' == 'Windows_NT' ">net461;$(StandardTestTfms)</StandardTestTfms>
</PropertyGroup>
</Project>
Reference
이 문제에 관하여(Windows에서 ASP.NET Core를 소스에서 빌드하고 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yaegaki/items/9269bb56d89c86171559텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)