2016-08-27 4 views
15

typescript 파일 폴더가 포함 된 Visual Studio 2015 ASP.Net 핵심 프로젝트가 있습니다..NET 핵심 프로젝트에서 TypeScript 컴파일을 비활성화하는 방법은 무엇입니까?

제 질문은 어떻게 VS 형식 파일을 컴파일하는 것을 막을 수 있습니까? 나는 그들을 구원 받거나 지어서는 안된다.

아래 프로젝트 설정을 추가하려고했지만 영향을 미치지 않습니다.

<PropertyGroup> 
    <TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled> 
</PropertyGroup> 

현재 VS 오류, tsc.exe exited with code 1을 던지고 있지만, 언급 한 바와 같이, 나는 TS 컴파일러는 전혀 실행하지 않습니다.

VS에서 사용하는 typescript.targets를 비활성화 할 수 있지만 다른 프로젝트에서 필요하므로 실용적이지 않습니다.

답변

31

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript\Microsoft.TypeScript.targets 파일에서 약간의 시간을 보냈고 지원 업무를 수행하는 것으로 나타났습니다.

이 속성 그룹을 직접 프로젝트 파일을 편집하고 추가하여 프로젝트에이 속성을 추가

<PropertyGroup> 
    <!-- Makes the TypeScript compilation task a no-op --> 
    <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked> 
</PropertyGroup> 

편집 : @Chopin는 의견에서 지적하는이 다른 타이프의 공식 문서 MSBuild 관련 옵션은 here입니다.

+2

덕분에, asp.net 코어 .xproj 파일을 나를 위해 작동합니다. – STO

+5

[여기] (https://www.typescriptlang.org/docs/handbook/compiler-options-in-msbuild.html#typescriptcompileblocked)는 다른 Typescript MSBuild 관련 옵션에 대한 공식 문서입니다. – Chopin

+0

그것은 작동합니다. 내가 성가신 것을 발견 한 것은 Asp.net 코어의 새로운 1.1.1 릴리스가 VS 2015에서는 작동하지 않는 Typescript 타겟을 VS 2017에서만 소개한다는 것이다.이 속성 그룹을 추가함으로써, 모든 것이 작동하는데, 특히 내가 사용하지 않기 때문에 Typescript 전혀 :-) – Raffaeu

0

이 트릭은 실제로 MSBuild의 새 버전에서 작동합니다. 그러나 MSBUild의 이전 버전이 아직 빌드 서버 또는 그 이상인 경우. 또한 csproj 파일에서이 행을 제거하려고합니다.

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" /> 

    <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> 

감사

관련 문제