J'ai un projet Web de projet .Net Core et, pour diverses raisons, je souhaite le convertir en projet .Net Framework.
Y a-t-il un moyen facile de faire cela ou dois-je recommencer et importer le code des projets précédents
J'ai chargé le projet principal dans la communauté VS 2017 RC et ouvert * .csproj dans un éditeur de texte.
Il suffit de supprimer 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éfinissez-les sur un autre framework et réinitialisez-les (le rechargement et la réparation de VS *.
Aucune des réponses 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 procédant comme suit.
1) J'ai supprimé tous les paquets de nugets de mon projet existant.
2) J'ai créé un projet distinct d'application Web principale .net, ciblant .net 4.61. C'était pour obtenir les paquets de nuget par défaut.
3) J'ai modifié le fichier .csproj du projet temporaire, copié tous les nœuds PackageReference dans ItemGroup et les ai collés dans mon fichier .csproj de projets existant.
4) Modification du noeud TargetFramework (à l'intérieur de PropertyGroup) de "netstandard2" à "net461"
J'ai eu quelques modifications de paquet à traquer et à résoudre, mais sinon, j'ai pu exécuter.
Cela a fonctionné pour moi dans VS2017:
Commencez avec le modèle de projet Web principal .net.
Éditez * .csproj afin 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>
Sauver et fermer.
Essayez d'exécuter le projet.
Le PackReferences est juste les fichiers NuGet, et vous pouvez les ajouter via l'interface graphique si les versions sont différentes des miennes ci-dessus.
Je l'ai fait et ça a marché
effacer
"Microsoft.NETCore.App": {
"version": "1.1.0",
"type": "platform"
}
de project.json
puis remplacez la partie frameworks par ceci:
"frameworks": {
"net46": { }
},
puis restaurez les paquets.
EDIT: Ceci est obsolète maintenant.
Mon projet standard .net est relativement simple avec quelques paquets Nuget. Je viens de changer
<TargetFramework>netstandard2.0</TargetFramework>
À
<TargetFramework>**net461**</TargetFramework>
dans la section PropertyGroup du fichier .csproj et cela a été efficace pour moi .. Merci à Brandon Barkley pour votre réponse dans les commentaires.
ajouter ci-dessous dans csproj
<PropertyGroup>
<TargetFrameworks>netcoreapp2.1;net471</TargetFrameworks>
</PropertyGroup>
Pour y parvenir, vous devez suivre plusieurs étapes.
<TargetFrameworks>netstandard2.0;netcoreapp2.0;net35;</TargetFrameworks>
<RuntimeIdentifiers>win7-x86;win7-x64</RuntimeIdentifiers> <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
.dll
et le package Nuget pour thisbuild dans le dossier Debug/Release du projet..dll
au nuget et accédez à ces projets à partir de Nuget.Essayez les étapes ci-dessus. Cela devrait marcher.