【发布时间】:2020-10-09 13:41:52
【问题描述】:
所以我尝试使用屏幕缓冲区在控制台上制作一个基本游戏,我能够创建它并在画布中进行方形移动,但是对于我的下一个项目,我查找了一个带有 ASCII 字符的网站并粘贴了几个进入c++文件末尾的注释,当我运行文件时visual studio提示:
我单击“是”,但它不再运行。 我最近还安装了 Visual Studio 的扩展(在它没有运行之前,扩展工作正常,但我不知道扩展是否可能导致这种情况,因为我没有尝试在下载并应用扩展的情况下运行它) ,当我打开视觉工作室并打开一个文件时,它说:
ActivityLogxml 文件中的最后一条记录,有一个错误类型,它的描述是:
Microsoft.VisualStudio.Composition.CompositionFailedException:预期 1 个导出合同名称为“Microsoft.VisualStudio.CppSvc.Internal.CodeAnalysis.ICodeAnalysisService”,但在应用适用约束后发现 0 个。 在 Microsoft.VisualStudio.Composition.ExportProvider.GetExports(ImportDefinition importDefinition) 在 Microsoft.VisualStudio.Composition.ExportProvider.GetExports[T,TMetadataView](字符串 contractName,ImportCardinality 基数) 在
Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T,TMetadataView](字符串合同名称) 在
Microsoft.VisualStudio.Composition.ExportProvider.GetExport[T](字符串合同名称) 在
Microsoft.VisualStudio.Composition.ExportProvider.GetExportT 在
Microsoft.VisualStudio.Composition.ExportProvider.GetExportedValueT 在 Microsoft.VisualStudio.ComponentModelHost.ComponentModel.GetServiceT 在 Microsoft.VisualStudio.VC.ManagedInterop.c.b__52_15() 在
System.Lazy`1.CreateValue() 在
System.Lazy`1.LazyInitValue() 在
System.Lazy`1.get_Value() 在
Microsoft.VisualStudio.VC.CodeAnalysis.ResultTaggerProvider.CreateTagger[T](ITextBuffer 缓冲区) 在
Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.GatherTaggers(ITextBuffer textBuffer) --- 从之前抛出异常的位置结束堆栈跟踪 --- 在
Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
我有 Visual Studio 2017 那么为什么运行文件(使用本地 Windows 调试器按钮)说存在构建错误?我该如何解决? 当它提示构建错误时,我单击 no 它通常会显示错误,但在这种情况下它不会,yes 只会运行最后一个“成功”构建(尽管我没有更改文件,因为我已经完成它之前此错误消息开始弹出) 我的代码也没有错误,因为我能够在构建错误不断出现之前运行它,并且我没有接触过该文件(现在才显示问题)
感谢您的宝贵时间!如果由于我的英语有什么不清楚的地方,请发表评论,我会尽力澄清它
【问题讨论】:
-
什么是构建错误?您可以将确切的错误消息编辑到您的问题中吗?您能否还包括错误所在行的示例,可能在它们周围有几行上下文?
-
我还建议将文件重新保存为 UTF-8 以防万一(以防您的扩展无法解析 UTF16 文件),或者识别并删除非 ASCII 字符和回到默认代码页。
-
"...带有 ASCII 字符的网站..." 不,您粘贴了 Unicode。不要将它们放在源文件中,而是将它们放在外部文件中并读入。在使用 UTF-8 的 MS-Windows 上要小心,因为 Windows 是原生 UTF-16(UTF-8 可能需要一些额外的工作)。
-
@Rup 我在问题中写的没有错误,没有红色的行,当我单击“否”时,由于构建错误而提示它在其他项目中不应该显示错误。我已经删除了扩展,但没有修复它
-
这是一个运行时错误,而不是编译时错误 - 你在编译器或构建系统或 Visual Studio 中遇到了错误。我会回滚到昨天的代码版本,然后如果您有提交,否则我会将其复制并粘贴到没有新行的新文件中 - 重新键入它们而不是复制和粘贴 - 并且不要保存为 Unicode .
标签: c++ visual-studio visual-studio-2017 build-error