if (File.Exists("test.txt"))
{
// Do something clever
}
我创建了一个名为test.txt的文件与windows服务位于同一个目录中,但代码的注释部分从未被执行?
[DllImport("Test.dll", EntryPoint = "GetTest", CharSet = CharSet.Auto)]
public static extern int GetTest(int index);
dll放在与服务同一个目录中,DllImport中不写绝对路径,有其他办法吗?
在引用中添加该库,库的位置是可以任意放置的。DllImport 中不需要带绝对路径。
windows服务的当前路径未必和exe所在路径一致。
导致if (File.Exists("test.txt"))找不到文件。
你试试看
System.Reflection.Assembly.GetExecutingAssembly().CodeBase).AbsolutePath + "\\test.txt"
另外你到底是test.txt还是test.dll?
test.dll是32bit还是64bit的?如果是32bit的,你的程序要编译为32bit的才能调用,dll放在systemwow64,如果你的系统是64bit的话。