我在一台新笔记本电脑上安装了 Visual Studio 2015(没有其他以前的版本),并为我们的 MVC Web 应用程序下载了源代码。我们有一个 gulp 文件,其中包含编译我们的 less 和 typescript 的任务。
运行此任务时...
cmd.exe /c gulp -b "C:\Code\Trunk\MyProj\MyProj.Web" --color --gulpfile "C:\Code\Trunk\MyProj\MyProj.Web\Gulpfile.js" 打字稿
...我收到以下错误:
[09:43:16] Using gulpfile C:\Code\Trunk\MyProj\MyProj.Web\Gulpfile.js
[09:43:16] Starting 'typescript'...
[09:43:34] Plumber found unhandled error:
Error: UNKNOWN, open 'C:\Code\Trunk\MyProj\MyProj.Web\app\allergy\main.js'
Process terminated with code 0.
这是 gulp 文件中的任务(为简洁起见,删除了其他部分):
var gulp = require("gulp");
var plumber = require("gulp-plumber");
var sourcemaps = require("gulp-sourcemaps");
var typescript = require("gulp-typescript");
var merge = require("merge2");
var paths = {
typescript: {
globpatterns: {
all: "./Scripts/**/*.ts",
excludedefinitions: "!./Scripts/**/*.d.ts"
}
}
};
gulp.task("typescript", function () {
var result = gulp.src([
paths.typescript.globpatterns.all,
paths.typescript.globpatterns.excludedefinitions
])
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(typescript({
removeComments: true,
declarationFiles: false,
noImplicitAny: false,
noEmitOnError: true,
module: "amd",
target: "ES5"
}));
return merge([
result.js.pipe(gulp.dest("./")),
result.pipe(sourcemaps.write()).pipe(gulp.dest("./"))
]);
});
- 我的同事与我的设置相同,并且没有错误。
- Typescript 在项目文件 (
<TypeScriptToolsVersion>1.0</TypeScriptToolsVersion>
) 中设置为 1.0 版,我现在无法更改。我想知道原因是不是因为我的机器上没有安装这个版本,但我的同事也没有。C:\Program Files (x86)\Microsoft SDKs\TypeScript
只有一个文件夹1.7
- 我注意到如果我在合并块中删除两行中的任何一行,任务就会成功完成。
- 每次在错误消息中都是不同的 .js 文件
我在网上搜索了 UNKNOWN 错误甚至意味着什么,但找不到任何明显/有用的东西。有谁知道如何解决这个错误?或者我如何去找出它被抛出的原因?
编辑 2016 年 1 月 20 日
所以,我一直收到这个错误大约一个星期......现在它已经停止发生了。我也没有对我的开发环境进行任何更改。我想保留这个问题,因为我很好奇为什么会发生这种情况。