网站搜索

"FindConfigFiles" 任务意外失败。Visual Studio 和 Typescript 在 VS2015 Angular 2 中的问题


这是问题,甚至无法理解为什么会发生这个问题。

Severity    Code    Description Project File    Line
Error       The "FindConfigFiles" task failed unexpectedly.
System.InvalidOperationException: The item metadata "%(FullPath)" cannot be applied to the path "content\scripts\angular\typings\node_modules\typings-core\node_modules\popsicle\node_modules\form-data\node_modules\combined-stream\node_modules\delayed-stream\test\integration\test-delayed-stream.js". content\scripts\angular\typings\node_modules\typings-core\node_modules\popsicle\node_modules\form-data\node_modules\combined-stream\node_modules\delayed-stream\test\integration\test-delayed-stream.js
   at Microsoft.Build.Shared.ErrorUtilities.ThrowInvalidOperation(String resourceName, Object[] args)
   at Microsoft.Build.Shared.ErrorUtilities.VerifyThrowInvalidOperation(Boolean condition, String resourceName, Object arg0, Object arg1, Object arg2)
   at Microsoft.Build.Shared.FileUtilities.ItemSpecModifiers.GetItemSpecModifier(String currentDirectory, String itemSpec, String definingProjectEscaped, String modifier, String& fullPath)
   at Microsoft.Build.Evaluation.BuiltInMetadata.GetMetadataValueEscaped(String currentDirectory, String evaluatedIncludeBeforeWildcardExpansionEscaped, String evaluatedIncludeEscaped, String definingProjectEscaped, String name, String& fullPath)
   at Microsoft.Build.Execution.ProjectItemInstance.TaskItem.GetBuiltInMetadataEscaped(String name)
   at Microsoft.Build.Execution.ProjectItemInstance.TaskItem.GetMetadataEscaped(String metadataName)
   at Microsoft.Build.Execution.ProjectItemInstance.TaskItem.GetMetadata(String metadataName)
   at TypeScript.Tasks.FindConfigFiles.<>c.b__12_0(ITaskItem f)
   at System.Linq.Enumerable.WhereArrayIterator1.MoveNext()
   at System.Linq.Buffer1..ctor(IEnumerable1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source)
   at TypeScript.Tasks.FindConfigFiles.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.d__26.MoveNext()

答案#1

在你的项目结构中,请将“node_modules”文件夹、“obj”文件夹等排除在项目结构之外。

如何从项目结构中排除

-在解决方案资源管理器中,右键点击这些文件夹,然后 > 点击“从项目中排除”。

-并构建和清理您的项目解决方案。

祝你好运!!

答案#2

今天我在迁移到 VS2017 并尝试构建一个项目时遇到了同样的构建错误。每次搜索都返回这个 Stack Overflow 帖子,所以我觉得我应该发布对我有效的方法,因为被采纳的答案对我不起作用。(将 node_modules 从项目中排除会导致 VS 崩溃)

在 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')" />

项目能够正确构建。

我在 TypeScript 的 GitHub 页面上的这个帖子里找到了这个答案。希望这能帮助到某人。