我的项目构建全部失败,但我没有显示任何错误。我试过清洁和重建,但没有用。
我将MSBuild输出详细程度更改为'Diagnostic',希望它可以帮助我识别问题,现在我卡住了。这是输出的样子:
1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========
答案 0 :(得分:104)
您可能没有看到所有构建错误。
通过将“消息”图标从“Build + Intellisense”更改为“Build Only”之后的下拉列表,您将能够看到构建期间由Intellisense未检测到的错误。请参见下面的屏幕截图:
答案 1 :(得分:97)
我遇到了同样的问题,关闭并重新打开Visual Studio会将其清除。
我也尝试过清洁解决方案和清洁失败。
可能还有其他情况,这不能解决问题,但在我的情况下,重启已经为我解决了这个问题。
答案 2 :(得分:32)
我一直看到VS2015报告的常规实例"构建失败"但没有在错误窗口中显示任何错误。来自古老的命令行背景,我终于看到了输出窗口。输出窗口显示编译器报告错误,但这些错误未被捕获到错误窗口。我在VS2013下从未见过这个问题。
通常关闭VS并重新打开它并没有清除这种情况。 (在VS2013中,这是在后方踢XAML智能感知的常用方法,并使其停止修复已修复的错误"。
到目前为止,这一直与XAML页面CS文件中的编译错误有关。我无法记得在非页面CS文件中看到它。
在确定要检查输出窗口之前,错误窗口中的intellisense报告之类的内容对XAML中的对象的引用无效,但错误窗口中没有显示编译器错误可能会非常混乱,因为它"出现"像错误是intellisense报告XAML错误。但他们实际上并不是。 XAML错误只是CS文件无法编译但在错误窗口中没有报告错误的症状。
答案 3 :(得分:9)
为VS2015删除隐藏的.vs
文件夹。
(请注意,这是SUO文件现在所在的位置)
答案 4 :(得分:7)
当您引用其他.net框架版本项目(在我的情况下为v4.5.2 vs v4.5)时,可能会发生这种情况。更正此问题将解决您的问题。
答案 5 :(得分:6)
我在VS2015 Update 3 RC和Xamarin(.Forms共享项目)中遇到了这个问题
编译器不会停止,错误只显示在输出窗口中
这只适用于Xamarin项目(VB.NET项目都按预期工作)...
为了找到问题的原因,我更改了VS中的Build Output:
- 菜单"工具 - 选项"
- 从左侧面板:"项目和解决方案:构建并运行":
- 更改" MSBuild输出详细程度"来自" Minimal"到"诊断"
执行此操作后,编译器已停止并显示错误..
在那之后,我已经从" Diagnostic"到"最小" (就像之前一样)和......它也和#34; Minimal" (当然,我也重启了VS)......
所以......似乎(至少在我的情况下)只改变(触摸)设置(MSBuild Output Verbosity")已经解决了问题,这是VS和/或Xamarin集成软件......
答案 6 :(得分:6)
我发生的事情是,将计算机上的时区更改为+5:30然后将其更改回-5:00是VS的混淆。当我重新启动VS时,它再次正常工作。
答案 7 :(得分:5)
检查所有项目框架版本,并确保它们完全相同,或者至少项目A在项目B的.NET Framework版本较高时不引用项目B.
答案 8 :(得分:3)
我不知道自己是否是唯一一个面临这个问题的人。在我的情况下,当我打开Visual Studio时,时区是GMT + 1:00,构建成功然后我将时区更改为GMT + 5:30然后没有重新启动Visual Studio我尝试运行应用程序但是构建失败没有任何错误或警告,然后我将时区更改回GMT + 1:00并且构建成功没有任何错误。
答案 9 :(得分:2)
以上答案对我没有任何帮助。经过多次实验,我终于发现问题是其中一个项目中对Microsoft.Net.Compilers v2.10.0的引用。 VS 2015使用MSBuild v14,该版本不支持该版本的Microsoft.Net.Compilers。
答案 10 :(得分:2)
检查警告..
我有一个新的类库,其目标是.Net Framework 4.5,而引用项目是4.0,这引起了参考问题。
使用目标.Net Framework 4.0修改类库后,它正常工作。
答案 11 :(得分:2)
我遇到了这个问题,事实证明我有一个using
指向一个空命名空间。删除using
子句解决了问题
答案 12 :(得分:1)
打开解决方案时,生成它,我可以看到“输出选项卡”中报告的一些构建错误或警告,而“错误选项卡”不会报告任何问题。
您可以看到“错误选项卡”配置正常(选择“仅构建”和“整个解决方案”)。
请注意,经过深入调查后,我发现只有在您开始构建时尚未显示“错误标签”时才会出现这种情况!
如果在执行构建之前激活了“错误选项卡”(或者在启动Visual时它是当前选项卡),则新发现的错误/警告将正确显示:
就好像“错误选项卡”只有在可见时才被初始化(这可能是真的,因为第一次点击它需要花费更多时间......),如果不是,那就是不收集构建结果......
到目前为止,没有比“ 在构建之前激活错误选项卡”更好的答案。
我打赌这就是为什么“重启VS”的原因。您看到“错误选项卡”为空,您关闭并重新启动VS,然后默认显示“错误选项卡”,因为VS从上一个会话恢复了当前活动选项卡。您构建,现在“错误选项卡”将填充...!你很幸运。
注意:报告了一个VS错误:https://connect.microsoft.com/VisualStudio/feedback/details/3132689
答案 13 :(得分:1)
请检查警告。由于某些警告,有时构建失败。
答案 14 :(得分:1)
将项目迁移到使用旧版Framework的Visual Studio 2015时,也会发生这种情况。检查错误列表中的警告。你可能会看到类似项目的东西当前是.NET 2.0版,需要.NET 3.5或更高版本。如果您发现类似的警告,请转到项目的属性并定位所需的.NET Framework。
答案 15 :(得分:1)
对我来说,这个问题与自定义CodeAnalysis规则集设置有关" IncludeAll "。
编译器似乎遵守此设置:
<IncludeAll Action="Error" />
但IntelliSense在规则ID上采用了默认的ACTION,即#34;警告&#34;。这可以解释@RobertHarvey在“Build Only”中过滤输出的行为,它显示为 ERROR ,但如果按Intellisene过滤,则显示为警告。默认的Build + Intellisense过滤输出似乎是不确定的!
我的解决方法是明确地将我想要警告的规则作为警告。
<Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
<Rule Id="CS0618" Action="Warning" />
</Rules>
这可能是Intellisense无法观察 IncludeAll 选项的问题。见https://github.com/dotnet/roslyn/issues/7400
答案 16 :(得分:1)
我做了什么(毕竟以上,并且它仍然没有工作)是通过所有bin文件夹并清除它们(即引用的项目)。
这对我有用,希望它也适合你。
答案 17 :(得分:0)
更新dll文件后,发现新文件的目标是更高版本的.NET Framework。解决方案是转到Project Properties并将Target框架更改为适当的版本。
答案 18 :(得分:0)
就我而言,这是由文件名路径对 Windows 而言太长造成的。我通过在 git 中恢复到以前的版本找到它。
答案 19 :(得分:0)
开始一个新项目。将所有代码复制到命名空间ConsoleApp38450983450下面。
粘贴到命名空间ScrewedUpConsoleApp102343下的新项目中
构建和运行完美
答案 20 :(得分:0)
我刚刚清除了过滤器,它对我有用。清除所有过滤器图标位于消息框附近。
答案 21 :(得分:0)
我通过将.NET Framework从4.5.2更改为4.0找到了解决方案。
问题是由与当前所选框架不兼容的引用引起的。
答案 22 :(得分:0)
在目录(C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin)中更改了MSBuild.exe
所以我只从其他装有vs2015的PC上替换MSBuild.exe。
现在可以正常工作了。
答案 23 :(得分:0)
取自this回答
编译失败,输出窗口中未显示任何错误。
为了找到问题的原因,我更改了Build VS中的输出: - 菜单“工具 - 选项” - 从左侧面板:“项目和解决方案:构建和运行”: - 将“MSBuild Output Verbosity”从“Minimal”更改为“Diagnostic”
在这样做之后,我找到了真正的原因,这实际上是依赖项目的错误。我预测我依赖于为不同的框架(更新)而不是我的。从而创造了这个问题。当我将输出详细程度放到诊断
时,错误才被输出答案 24 :(得分:0)
对我而言,构建失败没有错误,但经过一些轻微的调查后我发现VS没有找到对MSHTML的反应。
更新到Windows 10后出现此问题。要修复此问题,您需要从GAC注册程序集。如何做到这一点,请回答MSHTML DLL on Windows 10我找到答案的答案。
答案 25 :(得分:0)
利基问题:我刚才遇到了同样的问题。上述答案似乎都没有帮助。
问题用于控制台程序,无法将Main()方法标记为async **,这就是我正在做的事情。不确定,为什么Visual Studio无法指定项目未构建的原因(每次都有0个错误和0个警告)。我正在使用Visual Studio 2015 Enterprise。
修复:解决此问题的方法是here。
答案 26 :(得分:0)
试试这个
从依赖关系中排除"mstscax.dll"
为我工作。
答案 27 :(得分:0)
对我有用的是什么:
关闭所有文件为我解决了问题。 (如果intelliSense停止工作则采用相同的解决方案)
(右键单击选项卡 - 关闭所有文档)
答案 28 :(得分:0)
对我来说,这是一个流氓附属财产。问题不一定是我看不到错误;错误如下:
子节点“2”过早退出。关机诊断信息可以在名为MSBuild _ * .failure.txt。
的临时文件目录中的文件中找到
最初,除非您尝试关闭Visual Studio,否则构建将挂起并且不会显示任何错误。重新启动后,它会在构建时挂起很长一段时间,然后显示上面的消息。
删除隐藏的.vs
文件夹,重建/清除解决方案以及重新启动Visual Studio都不起作用。删除所附属性;因此,它可能是某些无法正常工作的实际代码。
作为最后的手段,我会逐一删除所有最近的更改,直到问题得到解决,因为这里的解决方案都没有帮助。
<强>更新强>
因为我习惯于开发传统的WPF应用程序,所以我没有意识到你不能使用带有UWP的.
来“链接”XAML命名空间。我试图使用
My.Namespace:SomeClass.SomeProperty="SomeValue"
然而,它应该只是
MyNamespace:SomeClass.SomeProperty="SomeValue"
它并不像我喜欢的那么漂亮,但它显然是唯一的出路。
答案 29 :(得分:-2)
您应该在错误列表的右侧将组合框设置在&#39;整个解决方案&#39;查看所有错误。enter image description here