使用msbuild project.sln生成与vs2008 IDE生成的结果不同

使用msbuild project.sln生成与vs2008 IDE生成的结果不同,msbuild,Msbuild,我会尽量把这件事简单化。我有一个包含3个项目的解决方案文件Nexus.sln。Dsl、Dsl包和NexusSetup。NexusSetup取决于Dsl和Dsl包。依赖项在IDE中的项目构建顺序下设置,它们被列为Dsl、DslPackage和NexusSetup。在“依赖项”部分中,NexsusSetup依赖于Dsl和Dsl包。从IDE来看,大家都很高兴一切都按正确的顺序构建并成功 从命令行运行 msbuild Nexus.sln 项目包从不生成 这是nexus.sln文件 Microsoft V

我会尽量把这件事简单化。我有一个包含3个项目的解决方案文件Nexus.sln。Dsl、Dsl包和NexusSetup。NexusSetup取决于Dsl和Dsl包。依赖项在IDE中的项目构建顺序下设置,它们被列为Dsl、DslPackage和NexusSetup。在“依赖项”部分中,NexsusSetup依赖于Dsl和Dsl包。从IDE来看,大家都很高兴一切都按正确的顺序构建并成功

从命令行运行

msbuild Nexus.sln

项目包从不生成

这是nexus.sln文件

Microsoft Visual Studio解决方案文件,格式版本10.00

Visual Studio 2008 项目({FAE04EC0-301F-11D3-BF4B-00C04F79EFBC})=“Dsl”、“Dsl\Dsl.csproj”、“BF42BD0F-8483-443E-8F1F-1A0599642B57}” 末端工程 项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“DslPackage”,“DslPackage\DslPackage.csproj”,“{39171FE5-51EE-4CC4-BBEF-59D2F52C1532}” 末端工程 项目({FAE04EC0-301F-11D3-BF4B-00C04F79EFBC})=“NexusSetup”,“NexusSetup\NexusSetup.csproj”,“{C65D94D7-81FC-4DBE-9CB3-79384113C0DA}” 末端工程 全球的 全局分区(TeamFoundationVersionControl)=预解 SccNumberOfProjects=4 SccEnterpriseProvider={4CA58AB2-18FA-4F8D-95D4-32DDF27D184C} SccTeamFoundationServer= SccLocalPath0=。 SccProjectUniqueName1=Dsl\Dsl.csproj SccProjectName1=Dsl SccLocalPath1=Dsl SccProjectUniqueName2=DslPackage\DslPackage.csproj SccProjectName2=DSL包 SccLocalPath2=DslPackage SccProjectUniqueName3=NexusSetup\NexusSetup.csproj SccProjectName3=下一次设置 SccLocalPath3=NexusSetup 端球切面 全局分段(解决方案配置平台)=预解 调试|任意CPU=调试|任意CPU 释放|任意CPU=释放|任意CPU 端球切面 GlobalSection(项目配置平台)=后期解决方案 {BF42BD0F-8483-443E-8F1F-1A0599642B57}.Debug | Any CPU.ActiveCfg=Debug | Any CPU {BF42BD0F-8483-443E-8F1F-1A0599642B57}.Debug |任意CPU.Build.0=Debug |任意CPU {BF42BD0F-8483-443E-8F1F-1A0599642B57}.Release | Any CPU.ActiveCfg=Release | Any CPU {BF42BD0F-8483-443E-8F1F-1A0599642B57}.Release |任意CPU.Build.0=Release |任意CPU {39171FE5-51EE-4CC4-BBEF-59D2F52C1532}.Debug | Any CPU.ActiveCfg=Debug | Any CPU {39171FE5-51EE-4CC4-BBEF-59D2F52C1532}.Debug |任意CPU.Build.0=Debug |任意CPU {39171FE5-51EE-4CC4-BBEF-59D2F52C1532}.Release | Any CPU.ActiveCfg=Release | Any CPU {39171FE5-51EE-4CC4-BBEF-59D2F52C1532}.Release |任意CPU.Build.0=Release |任意CPU {C65D94D7-81FC-4DBE-9CB3-79384113C0DA}.Debug | Any CPU.ActiveCfg=Debug | Any CPU {C65D94D7-81FC-4DBE-9CB3-79384113C0DA}.Debug |任意CPU.Build.0=Debug |任意CPU {C65D94D7-81FC-4DBE-9CB3-79384113C0DA}.Release | Any CPU.ActiveCfg=Release | Any CPU 端球切面 全局剖分(SolutionProperties)=预解 HideSolutionNode=FALSE 端球切面 GlobalSection(文本模板)=后处理 textTemplateing=1 端球切面 EndGlobal

这是构建日志

Microsoft(R)生成引擎版本3.5.30729.4918 [Microsoft.NET Framework,版本2.0.50727.4918] 版权所有(C)微软公司2007。版权所有

构建开始于2009年7月29日下午1:53:33。 节点0上的项目“c:\Source\AASDK\Common\Nexus\Nexus.sln”(默认目标)。 构建解决方案配置“调试|任何CPU”。 项目“c:\Source\AASDK\Common\Nexus\Nexus.sln”(1)正在节点0(默认目标)上构建“c:\Source\AASDK\Common\Nexus\Dsl\Dsl.csproj”(2)。 没有资源与其源文件相关的过期。正在跳过资源生成。 核心编译: 跳过目标“CoreCompile”,因为所有输出文件相对于输入文件都是最新的。 DSLToolsCreateProjectItemTemplates: 正在跳过目标“DSLToolsCreateProjectItemTemplates”,因为它没有输出。 _CopyOutofDateSourceItemsOutputDirectory: 正在跳过目标“\u CopyOutOfDateSourceItemsOutputDirectory”,因为所有输出文件相对于输入文件都是最新的。 _CopyAppConfigFile: 正在跳过目标“\u CopyAppConfigFile”,因为所有输出文件相对于输入文件都是最新的。 CopyFilesToOutputDirectory: Dsl->c:\Source\AASDK\Common\Nexus\Dsl\bin\Debug\FA.Nexus.Dsl.dll 已完成构建项目“c:\Source\AASDK\Common\Nexus\Dsl\Dsl.csproj”(默认目标)。 项目“c:\Source\AASDK\Common\Nexus\Nexus.sln”(1)正在节点0(默认目标)上生成“c:\Source\AASDK\Common\Nexus\NexusSetup\NexusSetup.csproj”(3)。 正在跳过目标“CopySetupFiles”,因为它没有输出。 c:\Source\AASDK\Common\Nexus\NexusSetup\Files.wxs(35):错误LGHT0100:找不到名为“..\DslPackage\bin\Release\FA.Nexus.DslPackage.dll”的“File”类型的文件。 c:\Source\AASDK\Common\Nexus\NexusSetup\Files.wxs(46):错误LGHT0100:找不到名为“..\Dsl\bin\Release\FA.Nexus.Dsl.dll”的“File”类型的文件。 c:\Source\AASDK\Common\Nexus\NexusSetup\Files.wxs(59):错误LGHT0100:找不到名为“SourceDir..\dslpack\bin\Release\FA.Nexus.dslpack.dll”的“File”类型的文件。 c:\Source\AASDK\Common\Nexus\NexusSetup\Files.wxs(62):错误LGHT0100:找不到名为“..\Dsl\bin\Release\FA.Nexus.Dsl.dll”的“File”类型的文件。 c:\Source\AASDK\Common\Nexus\NexusSetup\Files.wxs(81):错误LGHT0100:找不到名为“..\Dsl\bin\Release\GeneratedCode\classdiagramschema.xsd”的“File”类型的文件。 已完成生成项目“c:\Source\AASDK\Common\Nexus\NexusSetup\NexusSetup.csproj”(默认目标)——失败。 已完成生成项目“c:\Source\AASDK\Common\Nexus\Nexus.sln”(默认目标)——失败

生成失败

“c:\Source\AASDK\Common\Nexus\Nexus.sln”(默认目标)(1)-> “c:\Source\AASDK\Common\Nexus\NexusSetup\NexusSetup.csproj”(默认目标)(3)-> (链接目标)-> c:\Source\AASDK\Common\Nexus\NexusSetup\Files.wxs(35):错误LGHT0100:文件类型为'File',名称为'..\DslPackage\bin\Release\FA.Nexus.DslPackage.dl
0 Warning(s)
5 Error(s)