Visual Studio 安装和部署构建失败且没有错误

Posted

技术标签:

【中文标题】Visual Studio 安装和部署构建失败且没有错误【英文标题】:Visual Studio Setup and Deployment build fails with no errors 【发布时间】:2009-05-11 12:33:03 【问题描述】:

我有一个设置和部署项目,在我们的构建服务器上,它在摘要中报告以下内容:

==========全部重建:25成功,2失败,0跳过==========

我不知道这两个失败的原因是什么,但我相信其中之一是 vdproj 项目,因为如果我在没有安装程序的情况下运行构建,则根本不会报告任何错误。 “打包文件”消息与我的 PC 上的输出匹配,构建成功完成。

我确信这是环境问题,只是没有任何日志可以说明问题所在 - 只是摘要中的数字。

更奇怪的是setup.exemyapp.msi 文件似乎生成得很好。我无法弄清楚失败的项目是什么,因为没有提到失败的项目。我所知道的是,如果我构建的解决方案不包括安装项目,那么摘要会显示没有错误。

谁能想到要检查的东西?

【问题讨论】:

【参考方案1】:

最后的答案是,这是一个已知的bug:https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=317870

答案是修改包含LINQ to SQL dbml文件的项目文件(*.csproj),去掉一些东西,如下:

    关闭 VS 2008。 在记事本中打开包含 LINQ To SQL 项的项目文件。 删除以下行: [项目组] [服务包括="3259AA49-8AA1-44D3-9025-A0B520596A8C"/] [/ItemGroup]

现在将构建安装项目 成功地。但是,如果你 双击 DBML 文件打开 VS 2008 中的设计器安装项目 将再次停止建设。以上 行被重新添加到 项目文件,但安装项目 无论如何都会停止建造。只是 重新启动VS 2008,它会再次工作 -- 直到您再次打开 DBML 设计器。一旦安装项目失败 由于这个问题,它永远不会 构建成功,直到你之后 重启VS 2008。

我最终从MS Connect forum topic 找到了答案(或者至少是答案的链接)。这是documented workaround。

【讨论】:

此 Microsoft 错误页面上列出的另一种解决方法对我有用:右键单击解决方案,然后单击 Visual Studio 中的“清理解决方案”。 您可以在VS中编辑csproj文件而不关闭解决方案:1.从项目上下文菜单中卸载项目,2.从上下文菜单中打开VS中的csproj文件,3.编辑并保存, 4. 从上下文菜单中重新打开项目。 由于 Connect 已停用,我认为指出 ***.com/questions/18614342/… 包含一些背景细节的副本会很有帮助。【参考方案2】:

(你没有说你有什么样的构建服务器。因为你标记了“.net”,我假设你正在使用 TFS 和 Team Build。)

Team Build 使用 MSBuild(实际上是 MSBuild)。 MSBuild 无法构建 vdproj 文件。只有 Visual Studio 可以做到这一点。

因此,如果您包含包含 vdproj 文件的解决方案,那么它们将失败。 (检查 vdproj 项目周围的构建日志,看看它们是否失败。)

阻止这些失败注册的一种方法是创建一个您为 Team Build 编译的配置,该配置不包括您的 vdproj 文件(如果失败的项目确实困扰着您)。

获取 msi 和 exe 文件的最佳方法是在 vdproj 项目上运行 Visual Studio。构建完成后添加自定义目标并在项目上手动调用 Visual Studio。 (除非您这样做,否则我不知道为什么会生成您的 msi 和 exe 文件。)

作为替代方案,请考虑 Windows Installer XML (WIX)。第 3 版(非常接近完整版本并且有一个稳定的测试版)使用 MSBuild。这意味着您的解决方案可以通过 Team Build 编译,无需任何特殊操作。唯一的缺点是 WIX 不能以“任何 CPU”为目标,但只要它针对特定平台,它就可以成为“任何 CPU”解决方案级别目标的一部分。

【讨论】:

构建服务器本身是 FinalBuilder,尽管这里没有实际意义,因为问题发生在构建服务器机器上的 VS 中构建。【参考方案3】:

是的,我以前吃过。

不确定您的设置,但试试这个是否合适:

首先,右键单击您的解决方案文件 > 属性 > 配置

在那里,使用构建复选框来试验哪些项目可以一起构建,哪些不可以。

另外,在您的文件系统中,删除所有项目的调试/发布文件夹。

最后,根据我的经验,这个错误通常是由损坏/丢失的 web.config 引起的。

告诉我你的情况

【讨论】:

【参考方案4】:

在我的情况下,由于版本格式不正确(“版本”项目属性),项目无法构建。 接受的格式是 X.X.X,如 1.0.0 当我将其更改为 1.0.0.0 时,项目将无法构建。

【讨论】:

以上是关于Visual Studio 安装和部署构建失败且没有错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 SQL Server 2014 LocalDB 和 Visual Studio 2013 构建 LightSwitch 失败

Visual Studio 2012 命令行构建 - 检测构建失败

使用Visual Studio 2019中的v141平台工具集进行C ++ / CX项目的构建失败

Visual Studio 2010 Web 部署任务失败

MSbuild是否要求在构建服务器上安装Visual Studio?

visual studio 2017社区构建失败,没有显示任何错误