4 visual-studio typescript web-essentials
正如标题所说:我有这个选项通过激活Tools> Options> Web Essentials窗口,但文件不会在构建编译.没有警告或错误,专用于Web Essentials的"输出"面板显示有关编译内容的消息,但实际上并未执行任何操作.实际上没有输出出现在输出中的那些文件.
有没有办法找出它到底在做什么?我已经对项目文件进行了手动修改.我没有在项目文件中看到任何与Web Essentials相关的内容.
有没有其他方法来解决这个问题?
即使使用WebEssentials来控制是否应该在构建工作中编译所有文件,它也可能会带来一些问题:
如果您正在使用构建计算机,与TFS等持续集成,则构建过程将不会应用相同的规则,因为WebEssentials是Visual Studio扩展,并且构建过程无法访问;
您需要重建项目以测试您的更改,除非您还将WebEsentials选项"在保存时编译TypeScript"设置为true,如果您在构建期间进行编译,则可能有点多余;
解决方案:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
.
.
.
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" />
Run Code Online (Sandbox Code Playgroud)
这足以确保在构建期间使用默认选项调用TypeScript编译器来构建所有.js文件.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
.
.
.
<TypeScriptTarget>ES5</TypeScriptTarget>
<TypeScriptIncludeComments>false</TypeScriptIncludeComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
此设置还允许您为每个项目设置不同的设置,这有利于灵活性.
在构建过程中,将使用当前构建定义中定义的设置调用TypeScript编译器.例如,在上面的设置中将TypeScriptTarget设置为ES5时,执行的命令行将类似于
tsc.exe --target ES5
Run Code Online (Sandbox Code Playgroud)
请注意,只会处理标记为BuildAction = TypeScriptCompile的文件.您可以在解决方案资源管理器,属性面板中检查/更改文件的BuildAction:

| 归档时间: |
|
| 查看次数: |
5963 次 |
| 最近记录: |