【发布时间】:2015-09-29 15:39:54
【问题描述】:
我正在使用 mono 和 xamarin 作为 IDE 在 mac 上运行 c# 应用程序。 在我的主要方法中,我有:
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling=false)]
public static extern bool SetEnvironmentVariable(string lpName, string lpValue);
然后当我调用它时:
SetEnvironmentVariable("PATH", path);
我得到一个 EntryPointNotFoundException
System.EntryPointNotFoundException: SetEnvironmentVariable
at at (wrapper managed-to-native) EICService.Program:SetEnvironmentVariable (string,string)
at EICService.Program.Main (System.String[] rawArgs) [0x00031] in (*my path*)/Program.cs:34
现在我知道在 mac 上调用 kernel32.dll 是一个问题,但我认为它正在找到它或任何单声道作为它的替代品,因为如果我在那里放置一些虚拟 dll 文件名,我会得到一个找不到 dll错误。
我是 C# 的菜鸟,但是这段代码在 windows 上运行,我们只想让它在 unix 上运行。
有什么想法吗?
【问题讨论】: