Application.StartupPath 在GAC 中调用了一个DLL,它将解析到哪里?
Application.StartupPath called in a DLL in GAC, where it will resolved to?
我创建了一个 EXE(我们称之为 a.exe
),它调用一个 DLL(我们称之为 b.dll
)。 b.dll
里面有这个方法
public string GetStartupPath()
{
return Application.StartupPath;
}
我将 a.exe
放在 C:\Program Files\My Company\My App
文件夹中。我在 GAC 中安装 b.dll
。
现在我的问题是,如果我启动 C:\Program Files\My Company\My App\a.exe
,b.dll
return 中的方法 GetStartupPath()
会怎样?
我可以做一个简单的例子来测试,但我还是决定post这道题。两个原因:
- 我怀疑在不同的机器上,会有不同的答案return。
- 为了其他开发人员的利益,基于 Whosebug 上可用的官方文档的规范响应非常有用。
来自官方文档:
Gets the path for the executable file that started the application,
not including the executable name.
https://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath(v=vs.110).aspx
所以这对我来说意味着它将为您提供 exe 所在的路径。
我创建了一个 EXE(我们称之为 a.exe
),它调用一个 DLL(我们称之为 b.dll
)。 b.dll
里面有这个方法
public string GetStartupPath()
{
return Application.StartupPath;
}
我将 a.exe
放在 C:\Program Files\My Company\My App
文件夹中。我在 GAC 中安装 b.dll
。
现在我的问题是,如果我启动 C:\Program Files\My Company\My App\a.exe
,b.dll
return 中的方法 GetStartupPath()
会怎样?
我可以做一个简单的例子来测试,但我还是决定post这道题。两个原因:
- 我怀疑在不同的机器上,会有不同的答案return。
- 为了其他开发人员的利益,基于 Whosebug 上可用的官方文档的规范响应非常有用。
来自官方文档:
Gets the path for the executable file that started the application, not including the executable name.
https://msdn.microsoft.com/en-us/library/system.windows.forms.application.startuppath(v=vs.110).aspx
所以这对我来说意味着它将为您提供 exe 所在的路径。