获取和设置单声道和可能的替代方案的环境变量

时间:2009-11-26 15:30:38

标签: c# linux mono

我有一个c#dll实现了一个消息队列服务,在Windows上它运行得很好。 为了找到所有队列,我在安装过程中使用存储在Machine中的环境变量。

System.Environment.SetEnvironmentVariable(“PHMQ”,install_dir,EnvironmentVariableTarget.Machine);

现在我只是尝试在Mono上运行它,当程序运行时抛出异常。 未安装PHMQ服务。

经过2个小时的搜索,我发现Mono并没有真正存储它只是将它们发送到null的这种变量。 (一个简单的文本文件太简单了?)

所以,问题是:我怎样才能解决这个问题? 第一个想法是:如果在linux上运行将它放在像/ opt这样的特定文件夹中,但它是一个dll,如果这样做,任何想要使用它的程序都必须像root一样执行

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您可以让程序在/ etc / environment中添加一行来设置机器的env var。显然要修改该文件,你需要root,所以应该在安装过程中完成。

然而,一个已知的位置将是更好的IMO。我不明白为什么你不能从/ opt执行。