Возникла проблема с получением зависимости для развертывания с приложением VB.NET WinForms. Приложение запускается, но возникают ошибки при ссылке/использовании библиотеки DLL. При проверке DLL не находится в каталоге установки пользователя.
Я установил новый пакет NuGet (первый NuGet в этом решении), и он отлично работает. Я реализовал это, протестировал локально. Глядя на папку bin (это в отладке), я вижу, что все библиотеки DLL там ... отлично.
Я могу опубликовать приложение с ClickOnce без проблем. Я развертываю IIS 8.0 с веб-ресурсом. На веб-сервере DLL тоже нет.
В меню «Файлы приложения...» в разделе «Публикация» есть все ссылки на CefSharp, которые включают, требуют, включают во все столбцы. Это заставляет ClickOnce включать их в качестве ресурсов, верно?
В ссылках в Visual Studio все они имеют значение Copy Local = True. Однако... когда я меняю Copy Local, ничего не меняется в моей истории GIT/истории изменений!! Visual Studio видит и распознает, что .vbproj был изменен, однако не было никаких видимых (unicode ?) изменения. Я могу совершить.
Я использую последнюю версию Visual Studio, VS2019 16.8.2 по причинам Blazor/ASP.NET Core. Должен ли я попробовать понизить рейтинг?
Я добавил элемент управления на основе оболочки Chromium, чтобы заменить универсальный веб-элемент управления IE7 в .NET Framework. Я работаю в приложении .NET 4.6. х86.
Репозиторий CefSharp GIT. https://github.com/cefsharp/cefsharp
Я использую пространства имен CefSharp.Common и CefSharp.WinForms в своем приложении.
Предупреждения о невозможности публикации свойств DLLS.
Изменить: возможный дубликат: невозможно применить публикацию свойства элемента X
Редактировать2:
Вот выдержка из моего .vbproj
<ItemGroup>
<PublishFile Include="CefSharp">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="CefSharp.Core">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="CefSharp.WinForms">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
<PublishFile Include="FlexCell">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Include</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>Assembly</FileType>
</PublishFile>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CefSharp.Common">
<Version>86.0.241</Version>
</PackageReference>
<PackageReference Include="CefSharp.WinForms">
<Version>86.0.241</Version>
</PackageReference>
</ItemGroup>
РЕШЕНО: Редактировать: это не полностью решило мою проблему в одиночку, но было попыткой взлома вручную ввести все ресурсы, и это сработало.
Редактировать 3: ОК. Ни одно из этих решений не сработало, включая переход на версию 16,4, что было весело. Установите необходимые библиотеки CefLibrary.WinForms и т. д. Затем соберите проект. Он должен собраться. Это создает .dll в вашем каталоге \bin в вашей файловой системе.
Изменить 4: сдаться. Visual Studio 16.8.2 и 16.8.1 просто сломаны. Вы можете сделать это в кроличью нору (это декабрь 2020 года), но похоже, что команда визуальной студии https://github.com/dotnet/roslyn/issues/48679 прямо сейчас возникают проблемы со ссылками. (эта единственная функция, которая не менялась в течение 20 лет). У них даже нет eta - после того, как они сломали важную функцию - в корпоративном / производственном продукте. Это был не превью, лол. Как это прошло модульное тестирование: D Для моего случая использования CefSharp мне нужно было загрузить PDF. Вместо этого я не использую непосредственно элемент управления Adobe ActiveX.
Взгляните на этот запрос https://github.com/cefsharp/CefSharp/issues/3274 Это было совсем недавно (ноябрь 2020 г.), и он исправил это. Переместите их в лучшее место, может быть, в папку ссылок, а затем фактически сошлитесь на них вручную через VS2019, как и любую другую .dll.
Я предполагаю, что это ошибка, а не предполагаемый рабочий процесс, поскольку он потратил почти 10 часов на гугление в кроличьей норе. ‹-- На самом деле это была ошибка.
Решение: нет. Очевидно. В последней версии всего по состоянию на 2 декабря 2020 г. — стабильной и все — ваша собственная реализация CefSharp будет нарушена даже при правильной настройке в соответствии со спецификацией других примеров при компиляции с 16.8.1 или 16.8.2 (но это не так). также работает с 16.6.2)