指定的条件"$(PackageAsSingleFile)"的计算结果为"",而不是一个布尔值?

161

当我在“公共Web”上进行预览时,我的计算机上的Visual Studio 2012会收到以下错误消息。我需要重新启动VS才能摆脱错误消息。

由于异常而导致调用构建失败“指定条件“$(PackageAsSingleFile)”计算结果为空字符串,而不是布尔值。C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets”

这个错误是什么原因引起的?

6个回答

218

我不知道什么原因导致了这个问题,但是重新启动VS 2012对我有帮助。


重新启动VS 2012不是一种解决方法。在发布3次后,该错误会再次出现。 - ms_devel
4
有没有更加结构化的解决方案?重新启动可以解决问题,但我偶尔还是会出现这个错误。 - Pbirkoff
5
添加了一个NuGet包后,我似乎解决了这个问题。也许可以作为调查的一个方向? - Thomas Harris
5
我开始在VS2013(更新2)中调试一个程序,然后用Ctrl + Break取消了。从那时起,每当我再次尝试构建、发布或调试该项目时,就会出现这个错误。重新启动VS2013可以解决它。 - Whit Waldo
2
这似乎是NuGet的问题,当更新或卸载包时会出现。我正在运行VS2013 Ultimate,但我运行了很多插件和附加组件,调试变成了一场消耗战;特别是因为重新启动VS可以解决问题。为了研究问题,当我卸载Nuget Package TinyMCE.MVC.JQuery并更新到TinyMCE4.MVC.JQuery时,就出现了这个问题。 - Apache
显示剩余7条评论

46

重新启动VS通常有助于解决问题,但如果无法解决,可以尝试删除.user.suo文件,按照此建议操作:https://dev59.com/8WQo5IYBdhLWcg3wOtQC#16223645

然而,这并不总是有效的。如果您跳过“预览部署”,则失败的可能性较小。

这可能是整个类别的评估为“”而不是布尔值的Visual Studio问题的解决方法。这是MS VS团队需要关注的问题吗?


跳过“预览部署”对我有帮助。谢谢! - peitek

11

我发现了一种非常奇怪(但有效的)解决方法,如果你已经尝试过关闭和打开 Visual Studio 但还是没有运行成功,那么请在发布之前关闭所有打开的文档。

所以,这种问题的完整修复指南如下:

  1. 尝试“清理”然后重新构建
  2. 如果仍无法发布,请尝试关闭并重新打开项目
  3. 仍然没有运气?尝试关闭 VisualStudio,但这次删除所有*.user和*.suo文件,然后再次打开您的解决方案并尝试。
  4. 最后,如果所有这些步骤都不起作用,请尝试我的最新技巧,关闭所有打开的文档,然后尝试。

如果这有帮助,请告诉我 :)


1

另一个常见的情况也会导致此错误,那就是你在解决方案中引用了缺失的文件。

因此,将这些文件排除在解决方案之外可以解决该问题。


1
这就是解决我的方法。 - David Aleu

0
如果您在使用Azure Functions时遇到此问题,则需要在您的.proj文件中指定该项目输出一个可执行文件。
<PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
    <AzureFunctionsVersion>v4</AzureFunctionsVersion>
    <OutputType>Exe</OutputType>
    <Nullable>enable</Nullable>
</PropertyGroup>

来源:https://pmichaels.net/2022/02/12/isolated-azure-function-in-net-6/

-4

您需要以管理员身份运行Visual Studio。指定的路径需要写入管理权限。


2
实际上,即使不以管理员身份运行,只要重新启动Visual Studio,错误就会消失。 - ca9163d9
这完全没有任何影响。 - Crypth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接