C# 如何更改不同configuration manager的相对路径?
我目前正在使用相对路径访问该文件,请参考下面的代码片段C# 如何更改不同configuration manager的相对路径?,c#,C#,我目前正在使用相对路径访问该文件,请参考下面的代码片段 var filePath = @"..\..\..\..\..\..\..\..\Common\Data"; 当我使用ANYCPU构建项目时,它工作正常,但当我将configuration manager更改为x64或x86时,无法找到该文件,因为在bin文件夹中创建了x64/x86文件夹,因此无法找到该文件。不过,添加额外的点效果很好。请参考下面的片段 var filePath = @"..\..\..\..\..\..\..\..\.
var filePath = @"..\..\..\..\..\..\..\..\Common\Data";
当我使用ANYCPU
构建项目时,它工作正常,但当我将configuration manager更改为x64
或x86
时,无法找到该文件,因为在bin文件夹中创建了x64/x86
文件夹,因此无法找到该文件。不过,添加额外的点效果很好。请参考下面的片段
var filePath = @"..\..\..\..\..\..\..\..\..\Common\Data";
您可以提供如何在
app.config
或web.config
<appSettings>
...
<add key="DataFilePath" value="..\..\..\..\..\..\..\..\Common\Data" />
...
</appSettings>
这种方法的好处是,在构建应用程序后,您可以灵活地更改设置。更多信息,您可以使用为每个生成配置定义特定设置。(虽然示例使用的是代码> Web.CONFIG,但该工具实际上适用于<代码> App.CONFIG)
在这种情况下,您应该考虑将硬编码路径移动到配置文件中。例如 在
app.config
或web.config
<appSettings>
...
<add key="DataFilePath" value="..\..\..\..\..\..\..\..\Common\Data" />
...
</appSettings>
这种方法的好处是,在构建应用程序后,您可以灵活地更改设置。更多信息,您可以使用为每个生成配置定义特定设置。(虽然示例使用的是
web.config
,但此工具实际上也适用于app.config
)您可以使用AppDomain.CurrentDomain.BaseDirectory,如下所示:
var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "relativePath");
您可以使用AppDomain.CurrentDomain.BaseDirectory,如下所示:
var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "relativePath");
…Common\Data
是您解决方案的一部分,还是独立于解决方案?您好,感谢您的回复,提供的路径独立于解决方案而不是使用点,为什么不提供完整路径?因为您说过它独立于解决方案。我们可以给出整个路径,但驱动器(C:或D:)因机器而异。这是解决方案的…Common\Data
部分,或者它独立于解决方案?您好,感谢您的回复,提供的路径独立于解决方案,而不是使用点,为什么不提供完整的路径?因为你说它独立于解决方案。我们可以给出整个路径,但驱动器(C:或D:)会因机器而异。请看这一Hi,我当前使用的是Windows窗体应用程序我没有在示例应用程序中使用app.config或web.config文件。您可以创建一个设置文件并通过Properties.settings.Default…
-基本上与上面显示的相同,我当前使用的是Windows窗体应用程序,我没有在示例应用程序中使用app.config或web.config文件。您可以创建一个设置文件,并通过Properties.settings.Default…
-与上面显示的基本相同