pour le moment, j'ai un microservice en c # avec api web et net core 2.0
dans les paquets nutget, j'ai déjà trouvé une version 2.1 de net core et j'ai décidé de l'installer afin de mettre à jour mon application. J'ai changé la cible comme indiqué ci-dessous
Mais quand j'essaye de le compiler, cela génère ce bug
Le projet a été restauré à l'aide de Microsoft.NETCore.App version 2.1.0, mais avec les paramètres actuels, la version 2.1.0-rtm-26515-03 serait utilisée à la place. Pour résoudre ce problème, assurez-vous que les mêmes paramètres sont utilisés pour la restauration et pour les opérations ultérieures telles que la construction ou la publication. Généralement, ce problème peut survenir si la propriété RuntimeIdentifier est définie lors de la génération ou de la publication, mais pas lors de la restauration.
Et mes dépendances sont restées comme ça
Le projet a été restauré à l'aide de Microsoft.NETCore.App version 2.1.0, mais avec les paramètres actuels, la version 2.1.0-rtm-26515-03 serait utilisée à la place.
Ceci est un problème conn en ce moment. Pour résoudre ce problème, vous pouvez essayer les solutions suivantes:
Ajouter l'attribut TargetLatestRuntimePatch
dans le fichier .csproj
:
<PropertyGroup>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
Ou
définir RuntimeFrameworkVersion
et RuntimeIdentifier
dans le fichier .csproj
:
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
Si la solution ci-dessus ne vous convient pas, veuillez vérifier plus de solutions de contournement sur le problème d'enquête .
Pour plus d'informations, reportez-vous à la section Restauration à l'exécution du déploiement autonome .
Je voulais publier une application de la console ASP.NET Core 2.1 Console et j'ai eu des erreurs de conflit de versions 2.1.0 et 2.1.6.
Comme j'avais beaucoup de projets dans ma solution (et que VS ne m'a pas indiqué quels projets posaient problème, j'ai créé un fichier Directory.Build.props
avec le contenu suivant et je l'ai placé dans le répertoire où se trouve .sln
le fichier était
<Project>
<PropertyGroup>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<GenerateFullPaths>true</GenerateFullPaths>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
L'important ici est l'entrée <TargetLatestRuntimePatch>
.
De cette façon, tous les projets utilisent les mêmes paramètres et je n'ai pas eu à les synchroniser manuellement.
Le document de Directory.Build.props est ici https://docs.Microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2017
J'ai résolu le problème comme suit:
Tout d'abord, ajoutez le code suivant dans le fichier .csproj
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
Ensuite, vérifiez que la version de Microsoft.AspNetCore.App est 2.1.1. sinon installez s'il vous plaît cette version.
Enfin, restaurez votre paquet avec la version 2.1.1. Pour restaurer, exécutez le code suivant à partir de la console du gestionnaire de packages
Install-Package Microsoft.NETCore.App -Version 2.1.1
Comme @Leo Liu-MSFT a mentionné, je devais définir les paramètres RuntimeFrameworkVersion
et RuntimeIdentifier
dans le fichier .csproj:
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
Mais ensuite surtout, je devais restaurer des packages pour la solution.