Первая проблема: отсутствует TestGwanLibrary.pc.
Package TestGwanLibrary was not found in the pkg-config search path.
Perhaps you should add the directory containing `TestGwanLibrary.pc'
to the PKG_CONFIG_PATH environment variable
No package 'TestGwanLibrary' found
error CS8027: Error running pkg-config. Check the above output.
Чтобы решить эту проблему, я создал TestGwanLibrary.pc в / usr / lib64 / pkgconfig и содержимое выглядит следующим образом.
Name: TestGwanLibrary
Description: Test dll for using C# in G-WAN
Version: 1.0.0.0
Libs: -r:/root/gwan_linux64-bit/libraries/cs/dll/TestGwanLibrary.dll
Я попытался поместить TestGwanLibrary.pc в / usr / lib / pkgconfig и / usr / share / pkgconfig, оба не работали, поэтому я предполагаю, что двоичный файл gwan ищет пакеты только в /usr/lib64/pkgconfig.
В TestGwanLibrary.pc Libs указывает, где хранится мой пользовательский файл .dll, а именно ../gwan/libraries/cs/dll/. Это местоположение не может быть изменено, так как я считаю, что в gwan есть какая-то настройка, которая ищет именно этот каталог.
Второй вопрос: сборка 'netstandard' не указана.
/root/gwan_linux64-bit/0.0.0.0:8080/#0.0.0.0
/csp/testdll.cs(12,24): error CS0012: The type `System.Object' is defined in an assembly that
is not referenced. Consider adding a reference to assembly `netstandard, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
Compilation failed: 1 error(s), 0 warnings
Эта проблема связана с тем, что mono не поддерживает .NET Standard 2.0, и моя библиотека была построена с использованием этой среды. Чтобы решить эту проблему, я создал другую библиотеку, предназначенную для .NET Framework 4.6.1.
Так что для тех, кто придерживается раздела C # в FAQ G-WAN , вам нужно будет создать файл пакета (.pc) для вашей библиотеки в каталоге / usr / lib64 / pkgconfig, как упомянуто выше.