Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更改不同configuration manager的相对路径?_C# - Fatal编程技术网

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";

您可以提供如何在 C<代码>

< p>中编程地检测配置管理器的代码<代码> x64 /x86 < /代码>,在这种情况下,您应该考虑将硬编码路径移动到配置文件中。例如 在
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…
-与上面显示的基本相同