我一直试图通过visualstudio.com上的构建服务器来构建打字稿,而且我已经完成了将打字稿放入源控件的正常做法。但是我收到了以下问题:
VSTSC:错误TS5007:构建: 无法重新引用文件: ' COMPUTE_PATHS_ONLY&#39 ;. [C:\一个\ SRC \主\ RecruitCloud \ RecruitCloud.csproj]
我知道编码问题,但在所有示例中,我已经看到错误消息中已经命名了罪魁祸首文件。
我开始认为这可以归结为我在项目中编译的打字稿文件的数量。
有什么想法吗?
答案 0 :(得分:6)
这是VsTsc任务的配置选项,即运行编译器的任务。它用于PreComputeCompileTypeScript
目标。目的是使VsTsc任务完成所有动作,除以运行编译器。这没有在您的机器上实现,它实际上 运行编译器。然后扔了一个合适的,因为它找不到名为COMPUTE_PATHS_ONLY的文件。
VsTsc任务存储在C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ TypeScript \ TypeScript.Tasks.dll中。用反编译器查看程序集:
protected override int ExecuteTool(string pathToTool, string responseFileCommands, string commandLineCommands)
{
if (this.Configurations.Contains("--sourcemap"))
{
this.generateSourceMaps = true;
}
else
{
this.generateSourceMaps = false;
}
if (this.Configurations.Contains("--declaration"))
{
this.generateDeclarations = true;
}
else
{
this.generateDeclarations = false;
}
this.GenerateOutputPaths();
if (!responseFileCommands.Contains("COMPUTE_PATHS_ONLY"))
{
return base.ExecuteTool(pathToTool, responseFileCommands, commandLineCommands);
}
return 0;
}
请注意!responseFileCommands.Contains()
测试以绕过base.ExecuteTool()调用。
我只能想到你的机器上的方法看起来不像这样。最有可能的原因是你有一个过时的TypeScript.Tasks.dll版本。在安装了VS2013 Update 4的计算机上,它的日期为2014年11月11日,大小为27816字节。
答案 1 :(得分:0)
您最好的选择是简单地以Unicode编码重新保存所有文件。您可以通过快速PowerShell脚本(Change files' encoding recursively on Windows?)
来完成Get-ChildItem *.txt | ForEach-Object {
$content = $_ | Get-Content
Set-Content -PassThru $_.Fullname $content -Encoding UTF8 -Force}