我有一个用C#编写的.NET项目,它与CoolProp库有关(可在https://github.com/CoolProp/CoolProp下载).它使用PInvoke调用CoolProp函数.
不幸的是,我必须在Linux环境中运行该程序(恰好是AWS lambda env https://docs.aws.amazon.com/en_us/lambda/latest/dg/current-supported-versions.html).
现在,我想用dotnet run我的PC上的.NET core(命令)和Ubuntu OS 执行它,但我总是得到以下错误:
Unhandled Exception: System.DllNotFoundException:
Unable to load shared library 'libCoolProp.so' or one of its dependencies.
In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibCoolProp.so.so: cannot open shared object file: No such file or directory
at Test1.Program.PropsSI(String Output, String Name1, Double Prop1, String Name2, Double Prop2, String Ref)
at Test1.Program.Main(String[] args) in /home/user/Desktop/TestDllInUbuntu/Test1/Program.cs:line 23
测试程序是:
using System;
using System.Runtime.InteropServices;
namespace Test1
{ …Run Code Online (Sandbox Code Playgroud) 我可以找到一组java 2D游戏教程和Android游戏教程,它们只使用原生图形库.
我在C#中寻找类似的东西(没有DirectX或XNA)
我发现这个游戏循环骨架,但它没有告诉如何渲染图形.
目标是模拟一个简单的电子设备.
当用户快速按下键盘上的某些键时,我需要显示一些图形输出.这看起来像一个街机游戏.
例如,当用户按下其中一个箭头键时,指针(图像)将相应地移动.
我想我不能用典型的Windows Forms Application做到这一点吗?
例如,使用PictureBox控件并在KeyPress发生时将其移动Form.
我创建了一个使用 x64 作为 TargetFramework 的 .NET Framework 4.8 C# 类库项目。
我已将 NuGet 包Microsoft.SqlServer.Compact添加到项目中。当我构建项目时,只有位于 \lib\net40 文件夹中的 System.Data.SqlServerCe.dll 文件被复制到输出文件夹中。
不会复制 NuGet 包的 NativeBinaries\amd64\ 目录中的文件。
但我需要它们位于 OutputPath\amd64 目录中。我需要进行哪些设置才能复制这些文件?
编辑
这是我的 csproj 文件的内容:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{409AD54E-75FD-419F-B5D7-D2368105B4A8}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NuGetSQLTestClassLibraryNetFramework</RootNamespace>
<AssemblyName>NuGetSQLTestClassLibraryNetFramework</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" …Run Code Online (Sandbox Code Playgroud)