I am trying to create a Class Library (Package) project in Visual Studio 2015 Update 1, the project builds successfully on my local machine, but the build fails on MyGet build services (MyGet feed pulls the project from github repo and tries to build it).
project.json file looks like this:
{
"version": "1.0.0-*",
"description": "TestMyGet Class Library",
"authors": [ "Test" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Data.SqlClient": "4.0.0-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"WindowsAzure.Storage": "6.2.2-preview"
}
}
The build log is as follows:
2016-03-23 18:58:46 [Information] Sources at revision 2e055ab76bb167d728924383fa842961389e1200
.
2016-03-23 18:58:46 [Information] Finished fetching sources.
2016-03-23 18:58:46 [Information] Searching for projects to build...
2016-03-23 18:58:46 [Information] Searching for MyGet.bat, MyGet.cmd or MyGet.ps1...
2016-03-23 18:58:46 [Warning] Could not find MyGet.bat, MyGet.cmd or MyGet.ps1.
2016-03-23 18:58:46 [Information] Searching for build.bat, build.cmd or build.ps1...
2016-03-23 18:58:46 [Warning] Could not find build.bat, build.cmd or build.ps1.
2016-03-23 18:58:46 [Information] Searching for MyGet.sln...
2016-03-23 18:58:46 [Warning] Could not find MyGet.sln.
2016-03-23 18:58:46 [Information] Searching for other *.sln files...
2016-03-23 18:58:46 [Information] Registering NuGet package sources...
2016-03-23 18:58:46 [Information] Creating new NuGet.config file in which to register package sources.
Package Source with Name: feratur-public added successfully.
2016-03-23 18:58:49 [Information] Finished registering package sources.
2016-03-23 18:58:49 [Information] Running Package Restore...
2016-03-23 18:58:49 [Information] Found NuGet.config file that will be used during package restore.
2016-03-23 18:58:49 [Information] Start running package restore for D:\temp\656b00b\TestMyGet.sln...
MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
2016-03-23 18:58:51 [Information] Finished running package restore for D:\temp\656b00b\TestMyGet.sln (restored 0 packages).
2016-03-23 18:58:51 [Information] Finished Package Restore.
2016-03-23 18:58:51 [Information] Searching for restored NuGet packages...
2016-03-23 18:58:51 [Information] Found no restored packages.
2016-03-23 18:58:51 [Information] Start building project(s)...
2016-03-23 18:58:51 [Information] Start building project D:\temp\656b00b\TestMyGet.sln...
C:\Users\Wonka\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\dnx.exe --appbase "D:\temp\656b00b\src\TestMyGet" "C:\Users\Wonka\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\lib\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll" pack "D:\temp\656b00b\src\TestMyGet" --configuration Release --out "..\..\artifacts\bin\TestMyGet"
Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16231
Building TestMyGet for .NETFramework,Version=v4.5.1
Using Project dependency TestMyGet 1.0.0
Source: D:\temp\656b00b\src\TestMyGet\project.json
Unable to resolve dependency WindowsAzure.Storage 6.2.2-preview
Using Assembly dependency fx/mscorlib 4.0.0
Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll
Using Assembly dependency fx/System 4.0.0
Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.dll
Using Assembly dependency fx/System.Core 4.0.0
Source: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Core.dll
Using Assembly dependency fx/Microsoft.CSharp 4.0.0
And:
Building TestMyGet for .NETPlatform,Version=v5.3
Using Project dependency TestMyGet 1.0.0
Source: D:\temp\7ca98d3\src\TestMyGet\project.json
Unable to resolve dependency WindowsAzure.Storage 6.2.2-preview
Unable to resolve dependency Microsoft.CSharp 4.0.1-beta-23516
Unable to resolve dependency System.Collections 4.0.11-beta-23516
Unable to resolve dependency System.Data.SqlClient 4.0.0-beta-23516
Unable to resolve dependency System.Linq 4.0.1-beta-23516
Unable to resolve dependency System.Runtime 4.0.21-beta-23516
Unable to resolve dependency System.Runtime.InteropServices 4.0.21-beta-23516
Unable to resolve dependency System.Threading 4.0.11-beta-23516
For me it looks like MyGet build services can't find and pull NuGet packages required for the build. Do you have any ideas what can be going wrong here?
May sound obvious but just want to make sure that's not the issue: please ensure you didn't check in the project.lock.json
file.
In addition, you'll need a build script (put MyGet.ps1
in the solution root directory) that takes care of a few things:
# 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 -Filter project.json -Recurse | ForEach-Object
{
& dnu restore $_.FullName 2>1
}
# run msbuild on the solution file
Get-ChildItem -Path $PSScriptRoot -Filter *.sln -Recurse | ForEach-Object
{
& "$env:msbuildexe" $_.FullName /p:Configuration=$env:Configuration /m /v:M /fl /flp:LogFile="msbuild.log;Verbosity=Normal" /nr:false 2>1
}