Visual Studio 2019에서 .NET Core 프로젝트를 자동으로 다시로드하는 방법은 무엇입니까?


11

Node 또는 NPM이있는 Angular와 동일한 ASP.NET Core 프로젝트 를 자동으로 다시로드하려고합니다 .

.NET Core Project의 코드를 변경하고 저장한다는 의미입니다. 이 시간은 브라우저에서 자동으로 효과를 표시하고 브라우저에서 웹 페이지를 자동으로 다시로드합니다.


재로드의 의미가 정확히 확실하지 않지만 일반적으로 런타임에서 코드를 변경할 수 없습니다.
Yasser Jarouf

@YasserJarouf, 나는 2019 비주얼 스튜디오에 대해서 이야기하고 있지 않다
아카 쉬 Limbani

ASP.NET 코어 각도 프로젝트는 이미 클라이언트 측 코드를 다시로드 - 그들은 이다 그냥, 각도 same as각도. ASP.NET Core는 API 및 비 SPA 페이지를 제공하는 데 사용됩니다.
Panagiotis Kanavos

다른 방법으로는 npm 패키지를 ASP.NET Core 프로젝트와 결합합니까?
Akash Limbani

답변:


5

나는 닷넷 시계가 작동해야한다고 생각합니다. 다양한 옵션이 있으므로 링크 에서 설명서를 참조하십시오 .

  1. project.json 파일의 도구 섹션에 Microsoft.DotNet.Watcher.Tools를 추가하십시오.
  2. 닷넷 복원 실행
  3. 닷넷 워치 런으로 실행

그러나 이것을 사용하면 Angular와 같이 자동으로 다시로드 할 수 없습니다. ctrl + s를 누르면 브라우저에서 작동하는 작업이 없습니다. 답변을 주셔서 감사합니다.
Akash Limbani

명령 프롬프트를 사용하여 응용 프로그램을 실행하고 프로젝트에 시계 세부 정보를 추가해야합니다. json
PrinceT

또는 답변으로 제공 한 시작 프로필을 사용할 수도 있습니다.
GrowSing

그렇습니다. 이 dotnet watch run 명령을 사용하여 확인합니다.
Akash Limbani

콘솔에서 변경 사항을 볼 수 있습니다. 실행하려고 할 때 .. 무엇을 볼 수 있습니까?
PrinceT

3

이 요구 사항에 따라 Angular 응용 프로그램과 마찬가지로 .net 핵심 응용 프로그램을 실행하여 빌드 및 수동 새로 고침없이 페이지와 내용을 자동으로로드해야합니다.

ASP.NET 개발 프로젝트에서 ASP.NET 핵심 프로젝트에서 자동 재로드가 불가능하다는 수석 리소스로 일하는 .net 개발자로서 7 년 이상 연구를 해왔으며 경험 이 있습니다. 그러나 솔루션에서 성공한 것은 소스 파일을 모니터링하는 닷넷 워치를 사용하는 것입니다. 파일이 변경되면 시작된 응용 프로그램을 종료하고 프로젝트를 다시 빌드 및 게시 한 다음 응용 프로그램을 다시 시작하면됩니다. 응용 프로그램에서 변경 한 내용을 가져 오려면 브라우저에서 수동으로 페이지를 새로 고치면 프로젝트를 빌드하거나 시작할 필요가 없습니다.

asp.net watch를 사용하기 위해 따라야 할 단계 :

1) Net 응용 프로그램을 만듭니다.

2) 웹 프로젝트 폴더에서 명령 창을 엽니 다

3) 종류 dotnet watch run

4) 브라우저를 열고 API 또는 페이지로 이동하십시오

5) 소스 코드 변경

6) 파일을 저장

7) 브라우저로 돌아가서 수동으로 새로 고침

8) 변경 사항이 반영되어야합니다.


Visual Studio 2019에서 수행하는 방법?
Akash Limbani

2

사용할 수 있습니다 dotnet watch. 즉. 문서

VS에서 더 쉽게 실행할 수 있도록 사용자 정의 점심 프로필을 만들었습니다.

"Watch": {
  "executablePath": "dotnet.exe",
  "workingDirectory": "$(ProjectDir)",
  "commandLineArgs": "watch run",
  "launchBrowser": false,
  "launchUrl": "http://localhost:5000/",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
}

이것을 사용하면 Angular와 같은 브라우저에서 자동으로 다시로드되지 않습니다.
Akash Limbani

Angular 프로젝트를 실행할 수 있습니까?
Akash Limbani


2

프로젝트 콘솔에서이 명령을 실행

dotnet watch run

비주얼 스튜디오 코드 와 동일한 작업


1

이 옵션을 진행하기 전에 트리플을 생각해야합니다. (1) 자원을 소비합니다. 수정 된 프로젝트 및 때로는 전체 솔루션의 사전 작업으로 자동 빌드가 필요합니다. (많은 프로젝트로 구성된 중간 규모의 거대한 Asp.net 솔루션을 상상해보십시오. 프로그래밍 할 때까지 남은 시간은 얼마입니까 ??!) (2) 아시다시피, 페이지 다시로드에는 많은 시간이 소비됩니다 성공적인 빌드 후 첫 번째 발사 시간 !! ... 따라서이 옵션에서 얻고 자하는 시간에는 여러 CLR 기반 프로그래밍 언어 (예 : .NET Core)가 낭비됩니다. 그리고 마지막으로, (3) 더 나은 자동화 프로세스를 위해 자동으로 주입 할 수있는 테스트 샘플을 프로젝트에서 개발해야합니다. 얼마나 어려운지 상상해보십시오!

대신 솔루션을 단위 테스트를 시도한 후 다음 수정 작업은 피상적이고 발생 빈도가 낮을 ​​것으로 예상됩니다.

내 제안에 동의하지 않으면 이벤트가 on-build아닌 대상 웹 페이지를 더 잘 다시로드하는 Visual Studio 확장을 개발하는 것이 좋습니다 on-save-changes. 다음으로 일을 Ctrl + b하겠습니다!

어디서 시작하나요?

VS UI 외부에서 자동으로 생성 된 특정 파일을로드하는 폴더를 감시하는 VSIX를 개발했습니다. 프로젝트의 파일 관리에 대한 아이디어가있는 소스 코드를 확인하십시오. EnvDTE API와 관련 있습니다.이 코드를 살펴보십시오 .

또한 여기 에서 소스 프로젝트를 확인 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.