在Visual Studio Team Services(Visual Studio Online)中,CI构建失败 - dnvm问题?

时间:2016-03-10 10:39:49

标签: visual-studio build continuous-integration clr azure-devops

我正在尝试在Visual Studio Team Services(Visual Studio Online)中设置构建定义(visual studio),我收到以下错误:

  

C:\ Program Files   (86)\的MSBuild \微软\ VisualStudio的\ v14.0 \ DNX \ Microsoft.DNX.targets(126,5):   错误:需要安装Dnx Runtime包。见输出   窗口了解更多详情。

我尝试添加一个运行Command Line pre-build step的{​​{1}},但仍然无效。我也试过dnvm upgrade但没有成功。

该项目只是一个空的Web应用程序模板。

另外我应该提一下,我对这个工具链很陌生,我意识到我可能错过了一两步。感谢。

修改 我尝试了提出的解决方案here(dnvm升级),但它没有用,它产生了一堆错误(这正是我可以放在ss中): see errors here。我应该补充一点,我无法运行dnvm install 1.0.0-rc1-final -r clr -arch x86因为显然它不被识别为命令。

此外,我发现奇怪的是,这不能正常工作,因为它是您可以设置的最基本的操作。

1 个答案:

答案 0 :(得分:2)

您可以创建power-shell脚本来安装dnx运行时并恢复dnu软件包。

# bootstrap DNVM into this session.
&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}

# load up the global.json so we can find the DNX version
$globalJson = Get-Content -Path $PSScriptRoot\global.json -Raw -ErrorAction Ignore | ConvertFrom-Json -ErrorAction Ignore

if($globalJson)
{
    $dnxVersion = $globalJson.sdk.version
}
else
{
    Write-Warning "Unable to locate global.json to determine using 'latest'"
    $dnxVersion = "latest"
}

# install DNX
# only installs the default (x86, clr) runtime of the framework.
# If you need additional architectures or runtimes you should add additional calls
# ex: & $env:USERPROFILE\.dnx\bin\dnvm install $dnxVersion -r coreclr
& $env:USERPROFILE\.dnx\bin\dnvm install $dnxVersion -Persistent

 # run DNU restore on all project.json files in the src folder including 2>1 to redirect stderr to stdout for badly behaved tools
Get-ChildItem -Path $PSScriptRoot\src -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }

有关详细信息,请参阅此链接中有关power-shell的部分:Build and Deploy your ASP.NET 5 Application to an Azure Web App