可以使用 Visual Studio IDE 构建,但无法使用 devenv.com 构建

问题描述 投票:0回答:3

我正在使用 VS 2008。我可以使用 IDE 成功编译我的解决方案。但是,当我尝试使用 devenv.com 构建它时,它失败并提示“错误:找不到项目输出组‘(无法确定名称)’的输出。该组、其配置或其项目可能已被删除从解决方案。”在构建 .vdproj 安装项目时。

类似的问题是这里

有什么想法可以解决这个问题吗? 谢谢

编辑:实际上 Cruisecontrol.net 尝试使用 devenv.com 构建解决方案。这是我在 ccnet.config 中使用的 devenv 部分:

<devenv>
      <solutionfile>xxxxx.sln</solutionfile>
      <configuration>Debug</configuration>
      <buildtype>Build</buildtype>
      <executable>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com</executable>
      <buildTimeoutSeconds>60000</buildTimeoutSeconds>
      <version>VS2008</version>
    </devenv>
visual-studio-2008 build-process cruisecontrol.net devenv
3个回答
0
投票

听起来您传递给 devenv.com 的命令行中的参数无效。

如果您使用简单的 hello world 项目创建一个新的解决方案,它可以正常工作吗?

干杯,

塞巴斯蒂安


0
投票

您是否尝试过使用 MSBuild 任务而不是 VisualStudio?我一直使用 MSBuild 获得更好的结果,特别是因为这意味着您不需要在构建机器上安装 VisualStudio。

这是基于我使用的通用配置:

<msbuild>
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
    <workingDirectory>D:\dev\your\path\</workingDirectory>
    <projectFile>xxxx.sln</projectFile>
    <buildArgs>/v:m /noconlog /p:Configuration=Debug</buildArgs>
    <targets>Build</targets>
    <!--<logger>C:\Program Files\CruiseControl.NET\server\Rodemeyer.MsBuildToCCNet.dll</logger>-->
    <!-- If you dont have that logger for CruiseControl, you should try it :) -->
</msbuild>

如果这不起作用,您还可以从命令行运行它:

>cd "D:\dev\your\path\"
>D:
>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe /v:m /p:Configuration=Debug xxxxx.sln

如果需要,您可以将

v
(
Verbosity
) 标志更改为更高的值以获得更多输出(请参阅此处有关 MSBuild 的 msdn 文章)。


0
投票

我遇到了类似的问题,并且能够通过在命令中提供解决方案文件和项目文件来解决。

这是

devenv
命令参考

的文档

这是用于修复的代码(用 powershell 编写):

$project = "<full path to setup project>"
$sln = "<full path to solution file>"
devenv.com $sln /build "Release" /project $path
© www.soinside.com 2019 - 2024. All rights reserved.