我一直在寻找,但我还没有找到解决此问题的方法:我想创建一个类库,该类库在名为Configuration的子目录下有一个配置文件。我希望将该类库部署到任何地方,我希望它通过了解自己的位置来查找其配置文件。
Assembly.GetExecutingAssembly().Location
之前的尝试无效
它会返回临时位置,例如
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7c00e0a3\38789d63\assembly\dl3\9c0a23ff\18fb5feb_6ac3c901
而不是所需的
bin/Configuration
路径。
所以:
答案 0 :(得分:39)
这应该有效 -
string assemblyFile = (
new System.Uri(Assembly.GetExecutingAssembly().CodeBase)
).AbsolutePath;
答案 1 :(得分:2)
以下代码对我有用,它可以获取Images文件夹类库文件的物理路径。
string fullFilePath = Path.Combine((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath.Split(new string[] { "/bin" }, StringSplitOptions.None)[0]
, "@/Images/test.png");
我希望它将对某人有所帮助。
答案 2 :(得分:0)
旧问题,但为新观众解答。 只需访问文件。我已经尝试过通过动态设置目录的多种方法,但是没有任何积极的结果。 但另一方面,我看到它会自动访问其目录/子目录中的文件,而无需显式调用任何方法来获取当前目录。
[我的案子] 我必须访问与类库一起存储的配置文件,并且无需指定或设置地址就可以直接访问它。