codememo

유형 스크립트 TS5042 빌드: 옵션 'project'는 명령줄에서 소스 파일과 혼합할 수 없습니다.

tipmemo 2023. 6. 22. 21:53
반응형

유형 스크립트 TS5042 빌드: 옵션 'project'는 명령줄에서 소스 파일과 혼합할 수 없습니다.

실행하려는 모든 유형 스크립트 프로젝트에서 다음 오류가 발생했습니다.

TS5042  Build: Option 'project' cannot be mixed with source files on a command line.

무료 Typescript Angular2 템플릿을 다운로드하여 실행하면 이 오류가 즉시 나타납니다.

내 글로벌 타이프스크립트 설치와 관련이 있습니까?

tsc명령은 두 가지 방법으로 실행할 수 있습니다.

  1. 와 함께project매개 변수, 다음을 포함하는 디렉터리를 가리킵니다.tsconfig.json예:tsc --project ./app의 위치tsconfig.json컴파일에 포함할 파일 집합을 결정합니다.자세한 내용은 여기를 참조하십시오.tsconfig.json: http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
  2. 파일 목록을 기본 매개 변수로 사용합니다.예:tsc MyFile1.ts MyFile2.ts MyFile3.ts.

이 두 옵션은 모두 컴파일할 파일을 정의하려고 하므로 서로 호환되지 않습니다.

프로젝트를 컴파일할 때 사용하는 명령어는 무엇입니까?또는 빌드를 실행하는 IDE를 사용하고 있습니까?

여기에 대한 참조가 있습니다.tsc컴파일러 옵션.

같은 오류가 발생했지만 tsc 컴파일러의 경로에 표시된 대로 폴더 이름의 모든 공간을 제거하면 이제 성공적으로 빌드됩니다.GitHub 문제도 참조하십시오.

저는 저에게 맞는 해결책을 찾았습니다.C:\Program Files(x86)\에 Visual studio 버전이 두 개 이상 있습니다.MSBuild\Microsoft\Visual Studio\

v15.0을 열고 유형 스크립트 폴더를 v14.0 폴더에 복사합니다.

저에게 해결책은 아주 간단했습니다.프로젝트의 파일 경로를 살펴보니 파일 경로에 있는 폴더 이름 중 하나에 공백이 있습니다.공간 없이 폴더 이름을 바꾸니 TSC-p가 제대로 작동했습니다.TSC는 명령줄 인수를 구문 분석할 때 공백으로 분할하여 공간 뒤에 있는 내 파일 경로 이름 부분을 컴파일할 파일로 보았습니다.

저는 NX에서 이 오류를 만났고, 이 오류를 해결한 것은 프로젝트 경로에서 공간을 제거한 것입니다.

예:

"C:\The Project Path\project-dir" renamed to "C:\TheProjectPath\project-dir"

도움이 될 수 있다면 약간의 업데이트가 있습니다.이전 호에서 설명했듯이 1.8의 문제를 확인한 후 프로젝트를 계속 진행하기 위해 1.7을 제거하고 다시 설치하려고 했지만 설치조차 문제가 없었습니다. asp.net 5 앱을 컴파일하는 데 여러 가지 문제가 있었습니다.저는 1.7과 1.8을 아무런 변경 없이 임의의 순서로 복구하고 다시 설치하려고 했습니다.결국 C:\Program Files(x86)\ 디렉토리를 확인했습니다.MSBuild\Microsoft\VisualStudio\v14.0\TypeScript와 나는 모든 버전의 TypeScript 제거가 끝날 때 이것을 가지고 있다는 것을 발견했습니다.

이 폴더를 검색하고 삭제합니다. 이 시점에서 이 디렉터리를 완전히 제거하려고 시도했고 스크립트 1.7.6 유형을 제거하려고 다시 시도했는데 이제 정상적으로 작동합니다.저는 이 정리 작업과 1.8 베타 설치를 시도했지만, 계속해서 같은 문제를 겪고 있지만, 적어도 지금은 asp.net 5 프로젝트에서 작업할 수 있습니다.이전 버전으로 롤백하는 문제는 적어도 TypeScript를 덮어쓸 수 없었다고 생각합니다.Tasks.dll에서 일관성 없는 동작을 생성합니다.야간에 1.8개의 빌드를 구축하여 작업할 수 있습니다.

오류 TS5042가 해결합니다.이것이 당신에게 도움이 되길 바랍니다.

Powershell을 사용하지 않습니다.구성에서 이전 command.com 을 사용합니다.

{
    "files.autoSave": "afterDelay",
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe"
}

당신은 야합다니해를 ."terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\cmd.exe"Visual Studio 코드 사용자 설정으로 이동합니다.

언급URL : https://stackoverflow.com/questions/35813033/typescript-ts5042build-option-project-cannot-be-mixed-with-source-files-on-a

반응형