C# 如何从默认位置而不是通过硬编码选择文件?
我希望从默认位置(如bin文件夹(project的exe文件所在的位置)选择XHTML dtd文件,而不是通过提供文件的确切路径(如C:\temp\xhtml1.dtd)对其进行硬编码。我的代码是C。C# 如何从默认位置而不是通过硬编码选择文件?,c#,C#,我希望从默认位置(如bin文件夹(project的exe文件所在的位置)选择XHTML dtd文件,而不是通过提供文件的确切路径(如C:\temp\xhtml1.dtd)对其进行硬编码。我的代码是C。 有人能帮忙吗?我想这可能就是你想要的 string xhtml = Directory.GetCurrentDirectory()+"xhtml1.dtd"; 我想这可能是你想要的 string xhtml = Directory.GetCurrentDirectory()+"xhtml1.dt
有人能帮忙吗?我想这可能就是你想要的
string xhtml = Directory.GetCurrentDirectory()+"xhtml1.dtd";
我想这可能是你想要的
string xhtml = Directory.GetCurrentDirectory()+"xhtml1.dtd";
一种选择是使用应用程序库:
string path = Path.Combine(
AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
"foo.dtd");
一种选择是使用应用程序库:
string path = Path.Combine(
AppDomain.CurrentDomain.SetupInformation.ApplicationBase,
"foo.dtd");
这将给出工作目录,它可以是不同的(并且在运行时可以更改),我使用的不是字符串,而是uri。我怎样才能对uri做同样的事情呢?这将给出工作目录,它可以是不同的(并且在运行时可以更改),我使用的不是字符串,而是uri。我怎样才能对uri做同样的事情呢?我使用的是uri而不是字符串,那么它的语法是什么呢?如果你的uri是这样的uri u=newURI(“dtds/foo.dtd”),你可以用u.ToString()替换@Marc答案中的“foo.dtd”字符串。注意:您应该使用相对Uri作为AppDomain.CurrentDomain.SetupInformation.ApplicationBase将返回绝对路径。对不起,在我最后一条评论中使用u.ToString()将给出有趣的字符串,如C:\temp\test\bin\dtds/foo.dtd。您应该尝试path.combid(AppDomain….,string.Join(@“\”,u.Segments))我使用的是Uri,而不是字符串,那么它的语法是什么呢?如果你的Uri是这样的Uri u=newURI(“dtds/foo.dtd”),你可以用u.ToString()替换@Marc答案中的“foo.dtd”字符串。注意:您应该使用相对Uri作为AppDomain.CurrentDomain.SetupInformation.ApplicationBase将返回绝对路径。抱歉,在我最后一条注释中使用u.ToString()将给出有趣的字符串,如C:\temp\test\bin\dtds/foo.dtd。您应该尝试path.combid(AppDomain….,string.Join(@“\”,u.Segments))(重新注释)-如果您使用的是Uri,为什么在问题中给出一个使用文件路径的示例?这里的实际设置是什么?它是一个网络应用程序吗?ClickOnce应用程序?什么?(重新评论)-如果您使用的是uri,为什么要在问题中给出一个使用文件路径的示例?这里的实际设置是什么?它是一个网络应用程序吗?ClickOnce应用程序?什么?