Уф, почитал свои ошибки, создал проект asp.net core 2.0, ручками поменял target framework на net461, перезапустил, восстановил пакеты, всё работает.
Спасибо вам большое, наверное, с моими доводами я больше походил на истеричку.
Это не моя прихоть делать именно так
ayazer, Если создается asp.net core проект с таргетом на .net framework, то весь солюшн использует только .net framework пакеты. Никаких болей не было, я создавал сервисы web api на asp.net core с таргетом на .net core и проекты библиотек с таргетом на .net core. Это всё работает только на винде.
Сейчас я не могу больше создать asp.net core проект с таргетом под .net framework, выпадающий список заблокирован, очевидно, что мне не хватает какого-то расширения под студию, пакета или сдк. Про это и спрашиваю.
Если я ручками вбиваю в файл проекта net461, то проект не компилится, идут отсылки к файлу
C:\Program Files\dotnet\sdk\2.1.301\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets
Это какой-то огромный файл, в котором я ничерта не понимаю, в Output так же выводится
This version of Microsoft.AspNetCore.App is only compatible with the netcoreapp2.1 target framework. Please target netcoreapp2.1 or choose a version of Microsoft.AspNetCore.App compatible with net461.
Assets file 'C:\Work\MAP 2-0\Major.Map.CargoOrderService\Major.Map.CargoOrders\obj\project.assets.json' doesn't have a target for '.NETFramework,Version=v4.6.1'. Ensure that restore has run and that you have included 'net461' in the TargetFrameworks for your project.
В этом файле project.assets.json мне тоже абсолютно ничего не понятно
Но что делать с проектом всё равно не понятно. Выше написал, продублирую:
проект создается ASP.NET Core который может указывать в таргетах как .net core так и .net framework. Об этом сказано по ссылке из первого скрина Learn more
ASP.NET Core can target .NET Core or .NET Framework. ASP.NET Core apps targeting .NET Framework aren't cross-platform—they run on Windows only. There are no plans to remove support for targeting .NET Framework in ASP.NET Core.
Хорошо, проект создается ASP.NET Core который может указывать в таргетах как .net core так и .net framework. Об этом сказано по ссылке из первого скрина Learn more
Сейчас я не могу указать таргетом .net framework, а раньше мог. При том, что выпадающий список остался на месте, но у меня сейчас не активный. Вопрос у меня в том, что мне за пакет/дополнение/расширение нужно установить, чтобы я опять мог создавать такие проекты?
А, да, действительно можно создать проект библиотеки под .net framework, а можно создать проект под .net standard, я не ту создал вначале. Как же теперь с EF работать под .net core?
Привет, на первом скрине в левом верхнем углу два выпадающих списка, но сейчас первый выпадающий список нельзя изменить, раньше там можно было выбрать .net framework. Тогда во втором выпадающем списке можно было выбрать версию, 4.6.1 была последняя на тот момент. Cоздавался .net core проект, со всей структурой .net core проекта, но в таргетах у него стоял .net framework. И сейчас такие проекты работают и компилируются без проблем. Очевидно, что это работало на netstandard, но я в зависимостях её нигде не видел. И сейчас тоже посмотрел, в других проектах не нашел.
Проблема в том, что есть проекты библиотек, у которых в таргетах .net framework. Если я их подключаю в этот новый .net core проект, то при установке Entity Framework через нугет на этом пакете появляется восклицательный знак и, если развернуть в обозревателе решений, то пишется варнинг
Package 'EntityFramework 6.2.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.
Я так понимаю, что если я установлю EntityFrameworkCore, то работать тоже ничерта не будет.
Собственно, получается, что в .net core проекте нельзя использовать .net framework библиотеку классов?
Ну а чего не получается-то? Получить названия файлов в папке? Получить фотографию по названию и пути? Получить свойства изображения? Сравнить ширину? Уменьшить фотографию? Перезаписать обратно файл?
Ну есть всякие там соглашения о кодировании, желательно им следовать.
Код чаще читают, чем пишут.
Соглашения есть (или должны быть) во всех конторах, когда идёт работа в команде. Думаю, что можете найти от каких-нибудь больших контор. Соблюдая простые правила, другим людям становится легче работать с вашим кодом. Так же и вам становится легче работать с кодом других людей, если вы придерживаетесь одного стандарта. Понятное дело, что код будет работать с любыми именованиями, это нужно в первую очередь для других людей.
Так же есть рекомендации по написанию кода от майкрософта или по всяким сообществам, которые поддерживают некую платформу или опен. сорц проект. И все эти рекомендации примерно совпадают.
Вот пара ссылок по быстрому гуглежу: https://docs.microsoft.com/ru-ru/dotnet/csharp/pro... https://habr.com/post/272053/
Могу скинуть свой вордовский документ на почту, если хотите.
Касательно именований, подчеркивание допускается первым символом в приватных переменных. Для остального есть
ПаскальКейс
верблюжьяНотация
ну-и-кебаб-для-всяких-цсс
Движок - это хорошо ) просто во всех "рекламных" роликах говорится, что канвас - вот прям супер-пупер решение. И под все платформы надо завернуть, и всё делается буквально пара строчек кода. Типа "я за вечер на коленке написал игру".
А тут оказывается, что простые действия нужно либо колхозить самому, либо использовать чужие движки, то есть одного канваса + пара строк js недостаточно. Никакой волшебной магии-то и нет )
В общем, спасибо вам за участие, я пока отложу канвас в сторонку, может когда-нибудь к нему вернусь )
Спасибо вам большое, наверное, с моими доводами я больше походил на истеричку.
Это не моя прихоть делать именно так