【发布时间】:2011-04-05 22:49:45
【问题描述】:
我刚开始使用新产品,我想我不了解 PATH 变量。我的文档说要像这样在一个小控制台应用程序中成功更新 PATH:
using HP.HPTRIM.SDK;
namespace TestSDKforTRIM71
{
class Program
{
static void Main(string[] args)
{
string trimInstallDir = @"C:\Program Files\Hewlett-Packard\HP TRIM";
string temp = Environment.GetEnvironmentVariable("PATH") + ";" + trimInstallDir;
Environment.SetEnvironmentVariable("PATH", temp);
DoTrimStuff();
}
public static void DoTrimStuff()
{
using (Database db = new Database())
{
db.Connect();
Console.WriteLine(db.Id);
}
Console.ReadKey();
}
}
}
在上面的项目中,我引用了 HP.HPTRIM.SDK,它存在于: C:\Program Files\Hewlett-Packard\HP TRIM\HP.HPTRIM.SDK.dll
上述运行成功后,我尝试使用控制面板:系统:高级:环境变量永久更改 PATH。我通过检查位于 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment 的注册表来验证上述 PATH。我将以下内容视为 PATH 值中的最后一个条目: ;C:\Program Files\Hewlett-Packard\HP TRIM\
我认为这会在 PATH 的末尾永久设置它,但是当我运行上面的控制台程序并注释掉几行时,我得到了 FileNotFoundException(见下文)。我对如何在 PATH 中获取它感到困惑,而不必再担心它了。
using HP.HPTRIM.SDK;
namespace TestSDKforTRIM71
{
class Program
{
static void Main(string[] args)
{
//string trimInstallDir = @"C:\Program Files\Hewlett-Packard\HP TRIM";
//string temp = Environment.GetEnvironmentVariable("PATH") + ";" + trimInstallDir;
//Environment.SetEnvironmentVariable("PATH", temp);
DoTrimStuff(); // without setting the PATH this fails despite being in REGISTRY...
}
public static void DoTrimStuff()
{
using (Database db = new Database())
{
db.Connect();
Console.WriteLine(db.Id);
}
Console.ReadKey();
}
}
}
【问题讨论】:
标签: c# windows-server-2003 environment-variables console-application