我们使用devenv在命令行上构建源代码,如下所示:
devenv xyz.sln /build
我注意到,即使没有打开GUI,也仍然会加载intellisense。这样的消息使我相信情况就是这样:
[Failure] Could not find file 'C:\xyz\Services\Platform\DataProcessor\WebServiceClient.g.cs'.
这是一个生成的文件,因此,当然,它在一开始就不存在。无论如何,这样的消息表明智能感知正在运行,因此浪费了资源。
当devenv在命令行上构建代码时是否可以禁用它,否则可以启用它吗?
澄清
构建不会失败!这是因为从构建角度来看没有问题-依赖关系源文件是在实际依赖它们的项目之前生成的。因此,从纯构建角度来看,一切都很好。
该错误是由Intellisense产生的,它会向前看并注意到某些项目引用了不存在的文件。当在命令行上使用devenv时,完全不需要这样做,相反,它会在控制台输出上产生噪音。
编辑1
大约一年前,当我们迁移到VS 2017时,我们不再使用devenv进行命令行构建。在运行并行构建时,开发人员似乎没有遇到CI服务器上有时会遇到的msbuild并发问题。在构建我们的Silverlight解决方案时会发生这种情况。 CI构建有时无法提示正在使用zip文件。开发人员不会面对它,因为他们并不经常编译它(毕竟它正在被逐步淘汰)。
因此,不再有devenv命令行构建。
最佳答案
我认为这与索引(IntelliSense)没有关系。
引起此错误的原因是解决方案或项目文件具有对该特定文件的引用。如果在构建时文件系统中缺少该文件,则将获得此错误。
我建议您查看项目中的构建顺序。此article描述了如何确保按预期顺序构建项目。
具体来说,请尝试让项目先生成那些源文件,然后再生成其他需要它们的项目。
关于visual-studio-2015 - 当在命令行上调用devenv时,如何禁用VS intellisense?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43567029/