Reputation: 1175
I'm developing a mobile app and using MS App Center for CI. Yesterday the Unit Test project failed to build in App Center with the following error. I couldn't recreate the issue on any developer machine, this error only occurs in App Center.
error : NETSDK1061: The project was restored using Microsoft.NETCore.App version 1.0.0, but with current settings, version 2.0.9 would be used instead. To resolve this issue, make sure the same settings are used for restore and for subsequent operations such as build or publish. Typically this issue can occur if the RuntimeIdentifier property is set during build or publish but not during restore. For more information, see https://aka.ms/dotnet-runtime-patch-selection.
Their paid support just give the basics, clean the project, roll back my last commit etc. Has anyone come into this issue before on App Center?
Upvotes: 27
Views: 18988
Reputation: 217
Add this in the .csproj
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.5</RuntimeFrameworkVersion>
</PropertyGroup>
Upvotes: 5
Reputation: 4706
I had this issue when building in Azure Devops and none of the other answers would fix it. My Build and Publish steps already had matching --runtime
options.
The fix for me turned out to be to add the following into the the .csproj
file (substitute the RuntimeIdentifier
with the correct one for your deployment scenario):
<PropertyGroup>
...
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
Upvotes: 1
Reputation: 47
I had this problem because I had a nuget source that was no longer existing. After removing the faulty nuget source I restored the project and everything worked.
I restored the project via commandline:
dotnet restore
Upvotes: 1
Reputation: 370
What solved the issue for me, was to update the default NuGet package cache 'C:\Users\.nuget\packages' used for restore by changing the parameter in msvc:
Tools > Options > NuGet Package Manager > Package Restore > Allow NuGet to download missing package & Automatically check for missing packages during build in Visual Studio.
Upvotes: 0
Reputation: 722
Check also the solution I suggested here (Using Azure Pipelines with multi targeting projects I get error NETSDK1061), maybe it works for you, too:
- task: NuGetToolInstaller@0
inputs:
versionSpec: '>=4.3.0'
checkLatest: true
Upvotes: 0
Reputation: 129
If you use Azure DevOps, don't edit project file. Use "dotnet restore"(https://learn.microsoft.com/en-us/azure/devops/pipelines/languages/dotnet-core?view=azure-devops) instead of Nuget restore:
Replace this:
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
With this:
- script: dotnet restore
Upvotes: 12
Reputation: 836
Try Adding <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
to your <PropertyGroup>
tag. Example :
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
Upvotes: 6
Reputation: 91
I am on Visual Studio 2019. I encountered this issue when I tried to publish my project as Self-contained for the second time.
What I did to get rid of this error was:
It seemed to be caused by some faulty cache that can be cleared by switching to a different deployment mode.
Upvotes: 8
Reputation: 682
I am on Visual Studio 2019 and this answer put me on the right path, my procedure was:
Microsoft .NET Core SDK
off my machine.SDK
from here.Upvotes: 1
Reputation: 1118
You need to set the same publish and building runtimes
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<RuntimeFrameworkVersion>2.1.0</RuntimeFrameworkVersion> --> fix publishing issues
<PlatformTarget>AnyCPU</PlatformTarget> --> fix publishing issues
</PropertyGroup>
<ItemGroup>
<PackageReference Update="Microsoft.NETCore.App" Version="2.1.0" /> --> fix building issues
<ProjectReference Include="..\PublicSonar.Monitor.Persistent.Json\PublicSonar.Monitor.Persistent.Json.csproj" />
</ItemGroup>
</Project>
Upvotes: 37