Как включить grpc_csharp_ext.x86.dll с Fody / Costura? - PullRequest
0 голосов
/ 07 апреля 2020

С нетерпением жду этой статьи и выпуска:

1) https://idmedia.no/general/including-sqlite-interop-dll-into-your-c-project/

2) https://github.com/Fody/Fody/issues/673

Не удалось решить проблему. У кого-нибудь была похожая проблема?

Costura / Fody не может включать grpc_csharp_ext.x86.dll . Имеет ли это значение, потому что это время выполнения .dll? Ignore this message check internet connection it is just my suffix sentence to almost every error message.

Изображение 1) Игнорировать это сообщение, проверьте inte rnet connection, это всего лишь мое суффиксное предложение. .

.

.

.

That is .dll that is not included.

Изображение 2) То есть .dll, которая не включена. .

.

.

.

And those are dlls in solution project like on link 1) Set to EmbededResource but still not working.

Изображение 3) И это dll в проекте решения, как по ссылке 1) Установлен на EmbededResource, но все еще не работает. .

.

.

.

А это мои FodyWeavers. xml

<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
  <Costura IgnoreSatelliteAssemblies='true'
           Unmanaged32Assemblies='grpc_csharp_ext'
           Unmanaged64Assemblies='grpc_csharp_ext'>
  </Costura>
</Weavers>

1 Ответ

0 голосов
/ 29 апреля 2020

У меня была такая же проблема при создании моего приложения. NET, которое использовало gRP C. Я обнаружил, что если бы я не включил глобальный файл. json в root хранилища и явно указал версию SDK, которую я хочу использовать, то при сборке будет использоваться версия SDK по умолчанию, которая для некоторых причина: не включил grpc_csharp_ext.x86.dll в выходную папку.

Я бы предложил включить файл в ваше решение, а затем попытаться его построить.

Пример глобального. json file:

{
  "sdk": {
    "version": "2.2.207"
  }
}

Если вам не нужен этот файл, вы также можете создать скрипт powershell, который создает файл, создает (или публикует) решение, а затем удаляет файл:

dotnet new globaljson --sdk-version 2.2.207
try
{
    dotnet build ... (or dotnet publish ...)
}
finally
{
    Remove-Item .\global.json
}
...