Quiero simplificar mi configuración en mi aplicación ASP.NET Core Web Application (.NET Framework) usando VS 2017.
Ya sé que mi sitio web se ejecutará en Windows/IIS en un entorno x64 y .NET 4.6.2. No hay ninguna posibilidad en el futuro previsto e imprevisto de que esta aplicación utilice ningún otro entorno, desde el desarrollo hasta la producción.
Por lo tanto, solo necesito los modos Debug x64 y Release x64. (¡Cualquier CPU y x86 no son necesarios!), así que seguí adelante y eliminé todas las demás configuraciones del proyecto.
Ahora, al compilar, recibo el siguiente error:
'C:\Projects\MyProject\My.Website\obj\project.assets.json' no tiene un destino para '.NETFramework,Version=v4.6.2/win7-x64'.
Asegúrese de haber restaurado este proyecto para TargetFramework='net462' y RuntimeIdentifier='win7-x64'. MD.Sitio web C:\Archivos de programa (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.Sdk.targets
Estoy desarrollando en Windows 7, no estoy seguro de cómo solucionarlo. ¿Alguna idea?
Por alguna razón <TargetFramework>
en mi archivo .csproj
era singular. Agregué una "s" y se convirtió en "TargetFramework s ", que funcionó:
<PropertyGroup> <TargetFrameworks>net462</TargetFrameworks> <RuntimeIdentifier>win7-x64</RuntimeIdentifier> </PropertyGroup>
No cambié mi TargetFramework
, ejecuté en Package Manager Console el comando:
dotnet restore
¡Y funcionó! (Estoy usando VS2017 y estoy haciendo una aplicación central de .net que apunta a .net framework)
Cambié manualmente el mío de x86 a x64. En este caso, simplemente restaurar los paquetes de Visual Studio no funcionaría, pero cerrar Visual Studio, eliminar project.assets.json, reiniciar Visual Studio y reconstruir el proyecto funcionó para mí. Dejé <TargetFramework>
singular.
nuget restore ...
también puede haber funcionado.