我想做这个问题/答案的相反操作: How to include TypeScript files when publishing?
问题是我正在尝试发布 ASP.NET MVC 5 项目。不幸的是,可怕的 Visual Studio 和饥饿的 Jack Typescript 解释器会忽略任何 tsconfig.json 文件,并决定深入查找不附带 .js 的任何 .ts 文件。我有很多嵌套的 npm 包,其中一些有未编译的 typescript 文件。
有趣的是,它们没有包含在项目中(甚至没有感叹号)。 (我什至检查了 .csproj,但没有找到文件)。
这是一个错误吗?我怎样才能防止这种情况发生?使用 VS 2015.2(更新 2)。
最佳答案
我有一个非常相似的问题。发布一直失败,因为它找不到 foo.js,因为它与我的 ts/tsconfig 文件不在同一目录中,即使 outDir 设置为另一个位置也是如此。我不知道这是否是一个错误,但我无法使用 tsconfig 弄清楚它。相反,我可以通过使用内置的 TypeScript Build 设置来让事情正常工作。
- 首先,我从项目中删除了所有 tsconfig 文件(我确保保留了备份以防万一)。 TypeScript Build 最初是灰色的,因为我的项目中有 tsconfig 文件。
- 接下来,我直接在 Scripts 下创建了一个新文件夹来保存 js 文件。
- 然后,我转到项目属性并选择TypeScript Build选项卡。在输出下,我选中了将 JavaScript 输出重定向到目录并浏览到新创建的文件夹。我对所有构建配置都重复了这一点。
- 最后,我将新文件夹包含在我的项目中,然后进行构建。如果您选择了显示所有文件图标,则项目中未包含的文件夹和文件会在解决方案资源管理器中显示为幽灵图标。我认为,如果您有多个具有自己的 tsconfigs 的 TypeScript 项目,文件结构会复制到所选的输出目录下,但我在很多情况下都没有测试过它,所以我不确定。
显然我必须将我的脚本包重定向到新创建的 js 结构。
当我第一次遵循这个过程时,我遇到了一些构建错误,主要是由于我自己在 TypeScript 代码中犯了愚蠢的错误,我将 tsconfig 设置为方便地忽略这些错误。另一个错误是对象的多个引用,我通过删除定义文件并确保在 Typescript Build 中取消选中 生成声明文件 选项来修复该错误。不过,一旦我解决了这些问题,我就能够发布,而不会出现那个恼人的错误 - 快乐的日子!
关于asp.net - 预览失败 - Visual Studio 在发布时将查找 typescript 文件,即使它们不包含在内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37770734/