J'ai un projet web de type .Net Core et, pour diverses raisons, je souhaite le convertir en projet .Net Framework.
Existe-t-il un moyen simple de procéder, ou dois-je recommencer et importer le code des projets précédents ?
J'ai un projet web de type .Net Core et, pour diverses raisons, je souhaite le convertir en projet .Net Framework.
Existe-t-il un moyen simple de procéder, ou dois-je recommencer et importer le code des projets précédents ?
J'ai chargé le projet core dans la communauté VS 2017 RC et j'ai ouvert *.csproj dans un éditeur de texte.
Supprimez simplement la teg
<RuntimeFrameworkVersion>
et remplacer
<TargetFramework>netcoreapp1.1</TargetFramework>
à
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
Et après tout, dans les propriétés du projet, définir un autre cadre et réinitialiser (VS recharge et répare le fichier *.csproj).
Mon fichier csproj n'avait pas la balise <RutimeFrameworkVersion>, mais j'ai suivi le reste de ces instructions et cela a quand même fonctionné pour mon projet.
@MarkusStenqvist- lorsque vous démarrez VS, vous "voyez" un nouvel enregistrement dans le fichier *.csproj et créez la bonne structure à l'intérieur.
Cela a fonctionné pour moi dans VS2017 :
Commencez par un modèle de projet web .net core.
Modifiez *.csproj pour qu'il ressemble à ceci :
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore" Version="2.1.3" />
<PackageReference Include="Microsoft.AspNetCore.CookiePolicy" Version="2.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.1.1" />
<PackageReference Include="Microsoft.AspNetCore.HttpsPolicy" Version="2.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.1.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.RazorPages" Version="2.1.2" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.1" />
</ItemGroup>
</Project>
Enregistrer et fermer.
Essayez de lancer le projet.
Le PackReferences ne contient que les fichiers NuGet, et vous pouvez les ajouter via l'interface graphique si les versions sont différentes de la mienne.
Aucune des réponses données ici n'a fonctionné pour moi. Dans .Net Core 2, le fichier project.json n'existe plus. Cependant, j'ai résolu ce problème en suivant les étapes suivantes.
1) J'ai supprimé tous les paquets nuget de mon projet existant.
2) J'ai créé un projet d'application web .net core séparé, ciblant .net 4.61. Ceci afin d'obtenir les paquets nuget par défaut.
3) J'ai édité le fichier .csproj du projet temporaire, copié tous les nœuds PackageReference à l'intérieur de ItemGroup, et les ai collés dans le fichier .csproj de mon projet existant.
4) Modifier le nœud TargetFramework (dans PropertyGroup) de "netstandard2" à "net461".
J'ai eu quelques changements de paquets à traquer et à résoudre, mais sinon j'ai pu fonctionner.
Il y a plusieurs étapes à suivre pour y parvenir.
Cliquez d'abord avec le bouton droit de la souris sur le fichier .csproj et ajoutez ce qui suit
<TargetFrameworks>netstandard2.0;netcoreapp2.0;net35;</TargetFrameworks> <RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers> <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
Une fois ces changements effectués, rechargez le projet et construisez-le.
Cette opération génère le .dll
et le paquet Nuget pour cette dans le dossier Debug/Release du projet.
Ajouter ces .dll
dans le nuget et accéder à ces projets à partir de nuget.
Essayez les étapes ci-dessus. Cela devrait fonctionner.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Il n'existe pas de moyen automatique de le faire et je doute sérieusement qu'il y en ait un jour.
0 votes
Ce lien pourrait peut-être vous aider : blogs.msdn.microsoft.com/dotnet/2016/02/10/porting-to-net-core
0 votes
@raBinn Ce n'est pas ce que demande l'OP.
0 votes
Ok, quelle serait la meilleure façon de procéder ? Devrais-je avoir besoin d'un nouveau projet, ou pourrais-je remplacer les fichiers du projet et les références asp.net core par des références asp.net ?
0 votes
Démarrez un nouveau projet et commencez à copier le code. Presque tout est différent, il est donc préférable de commencer par un nouveau projet.
1 votes
Vous souhaitez revenir à ASP.NET MVC 5 ou vous voulez pouvoir utiliser l'intégralité du .NET Framework ?
1 votes
Votre question porte sur le passage de .NET Core à .NET Framework. C'est possible avec les noms de cible en changeant
netcoreapp1.0
anet462
onet451
ou similaires.ASP.NET Core
aASP.NET MVC 5
n'est pas si simple. Je l'ai fait pour un complément SharePoint et j'ai fini par copier tout le code dans un nouveau projet qui vise àASP.NET MVC 5
.0 votes
Je cible déjà net451, et j'aurais besoin de passer de ASP.NET Core à ASP.NET MVC 5. J'ai une grande application avec pas mal de dépendances sur des DLL .Net Framework. Cela m'a causé quelques soucis. Cependant, recommencer à zéro représente également beaucoup de travail, donc je pense que je dois attendre VS 2017 pour voir si la mise à niveau peut résoudre mes problèmes
0 votes
ASP.NET Core -> ASP.NET MVC 5 sera toujours douloureux, parce que beaucoup de modèles ont changé dans la réécriture de Core. Je recommanderais de commencer un nouveau projet et de copier autant de code que possible.
0 votes
Quelles sont les raisons qui vous ont poussé à faire cela ? Pouvez-vous me le dire, parce que je veux faire ce qu'il faut et que j'ai peur.