2017-02-28 36 views
0

我有一个简单的解决方案树:VSTS失败建设项目MSB1009文件不存在

库:DFW-SPF-网站 | - 解决方案:DFWSPFWebsite | - | - 项目:DFWSPFWebsite

在我之前的文章中,我解释了为了让VSTS找到我的NuGet包所必须经历的扭曲。过了一段时间才领导MSBuild进程找到.sln文件。现在MSBuild找不到项目文件。真?!

无数的变身后,我当前构建设置:

解决方法:$(build.sourcesDirectory)/DFWSPFWebsite/DFWSPFWebsite.sln

的MSBuild参数:/p:ProjectFile=$(build.sourcesDirectory) \ DFWSPFWebsite \ DFWSPFWebsite \ DFWSPFWebsite.csproj

平台:$(BuildPlatform) 配置:$(BuildConfiguration) 清洁:真 VS版本:二千零十七分之二千零一十五/最新(尝试所有) 控制选项:Enabled

我不能让过去的错误的MSBuild:

“C:\ Program Files文件(x86)的\的MSBuild \ 14.0 \ BIN \ msbuild.exe”“d:\ A \ 1 \ S \ DFWSPFWebsite \ DFWSPFWebsite.sln“/ nologo/nr:false/t:”Clean“/dl:CentralLogger,"D:\a_tasks\VSBuild_abc-xyz\1.113.0\ps_modules\MSBuildHelpers\Microsoft.TeamFoundation.DistributedTask.MSBuild。 Logger.dll “;” RootDetailId = ABC-XYZ | SolutionDir = d:\一个\ 1 \ S \ DFWSPFWebsite “* ForwardingLogger,” d:\ a_tasks \ VSBuild_71abc-XYZ \ 1.113.0 \ ps_modules \ MSBuildHelpers \ Microsoft.TeamFoundation。 DistributedTask.MSBuild.Logger.dll“/p:ProjectFile=D:\a\1\s\DFWSPFWebsite\DFWSPFWebsite.csproj/p:platform =”any cpu“/ p:configuration =”release“/ p:VisualStudioVersion =” 14.0“/ p:_MSDeployUserAgent =”VSTS_abc-xyz_build_2_38“ MSBUILD:错误MSB1009:项目文件不存在。 开关:D:\ a \ 1 \ s \ DFWSPFWebsite \ DFWSPFWebsite.sln 用代码'1'退出进程'msbuild.exe'。 “D:\ a \ 1 \ s \ DFWSPFWebsite \ DFWSPFWebsite.sln”/ nologo/nr:false/dl:CentralLogger,“D:\ Program Files(x86)\ MSBuild \ 14.0 \ bin \ msbuild.exe”D :\ a_tasks \ VSBuild_71abc-XYZ \ 1.113.0 \ ps_modules \ MSBuildHelpers \ Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll “;” RootDetailId = ABC-XYZ | SolutionDir = d:\一个\ 1 \ S \ DFWSPFWebsite“* ForwardingLogger,“D:\ a_tasks \ VSBuild_71abc-xyz \ 1.113.0 \ ps_modules \ MSBuildHelpers \ Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll”/ p:ProjectFile = D:\ a \ 1 \ s \ DFWSPFWebsite \ DFWSPFWebsite。 csproj/p:platform =“any cpu”/ p:configuration =“release”/p:VisualStudioVersion="14.0“/ p:_MSDeployUserAgent =”VSTS_14abc-xyz_build_2_38“ MSBUILD:错误MSB1009:项目文件不存在。 开关:D:\ a \ 1 \ s \ DFWSPFWebsite \ DFWSPFWebsite.sln 用代码'1'退出进程'msbuild.exe'。

我从来没有想过我会错过我的XAML部署这么多。

+0

如果在DFWSPFWebsite \ DFWSPFWebsite \ DFWSPFWebsite.csproj中存在项目文件,请检查您的项目。顺便说一下,请检查** MSBuild参数**,它是'/ p:ProjectFile = $(build.sourcesDirectory)\ DFWSPFWebsite \ DFWSPFWebsite \ DFWSPFWebsite.csproj'或'/p:ProjectFile=$(build.sourcesDirectory)\DFWSPFWebsite \ DFWSPFWebsite.csproj'。根据你的日志'/ p:ProjectFile = D:\ a \ 1 \ s \ DFWSPFWebsite \ DFWSPFWebsite.csproj',看起来你设置的参数是'/ p:ProjectFile = $(build.sourcesDirectory)\ DFWSPFWebsite'。 –

+0

如果我查看代码选项卡,项目就像所有必需的文件一样。无奈之下,我尝试了两个版本的Project path @Marina提及以及无数其他差异。我几乎要在VS 2015中重建整个事情,因为我怀疑我的基本问题是,尽管从那以后我已经通过VS的版本迁移过,但很久以前我开始在VS事情是,找到一个.csproj文件是一件很简单的事情 - 这怎么能工作?我还有更多的部署步骤。令人不安。 – KramFfud

+0

如果您将** MSBuild参数**留空,该怎么办?它默认直接在当前工作中找到工程文件。 –

回答

0

首先,请在VS 2015中构建您的解决方案,以确保它可以成功构建。然后你可以在VSTS中构建。

由于您只想构建一个解决方案,因此您可以从按钮中选择DFWSPFWebsite.sln按钮来执行nuget安装程序任务和visual studio构建任务。

掘金安装程序:

enter image description here

的Visual Studio编译:

enter image description here

+0

sln通过之前部署到Azure的XAML进行构建并运行良好。 我更新到VS 2017 RC,现在使用更灵活的'** \ *。sln'。 VSTS MSBuild现在可以找到.csproj文件。错误消息的网址指向2013年的NuGet 2.17页面和NuGet程序包恢复,自2015年以来一直未在VS中使用。我正在使用NuGet 3.5。 > DFWSPFWebsite \ DFWSPFWebsite \ DFWSPFWebsite.csproj(739,5):错误:此项目引用此计算机上缺少的NuGet程序包。启用NuGet软件包还原以下载它们。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=317567。 – KramFfud

+0

我怀疑我需要遵循@Marina关于NuGet Installer/Restore的建议,但是我找不到上面捕获的页面。 VSTS本身在其代码页面上不提供任何类似的内容。我错过了什么? – KramFfud

+0

我列出了操作编号,所以你应该先点击'...'按钮,然后找到'.sln'。 –

0

我有一个干净的构建!是的,省略是好的 - 我使用的是预发布UI。我还必须将几个外部引用的dll重定位到sln下的dll文件夹中。而且,我必须从csproj文件中删除<Target Name="EnsureBclBuildImported"…/>,<Import Project="..\packages\Microsoft.Bcl.Build…/><Target Name="EnsureNuGetPackageBuildImports"…/>节点。见[MSDN](https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore#migrating-to-automatic-restore)因为我不应该这么做,所以我不会把我无法估量的赞赏发给@Marina。 :*

相关问题