如何在控制台应用程序中为prod和测试环境设置不同的源和目标路径来复制文件

时间:2017-01-12 19:47:34

标签: c# console-application file-move

移动控制台应用程序的简单文件,其中源路径和目标路径现在是硬编码的。我必须在不同的环境中运行此应用程序 - 使用不同的源路径和目标路径进行测试和生产。如何设置复制或移动文件的路径。如何从program.cs中的配置文件中编码或调用这些路径

1 个答案:

答案 0 :(得分:0)

  

源路径和目标路径现在是硬编码

将它们移动到配置值。将App.config用于特定于环境的值正是配置文件的用途。简单的事情:

<appSettings>
  <add key="BasePath" value="C:\some\path\" />
</appSettings>

在代码中,您将从System.Configuration程序集中获取该值。类似的东西:

var basePath = ConfigurationManager.AppSettings["BasePath"];

(包括确保它是有效路径所需的任何错误检查等)

然后,当您需要创建完整路径时,在与其他已知值组合时包含该值,例如路径或文件名的不变部分或您拥有的任何信息。类似的东西:

var sourcePath = Path.Combine(basePath, "/some/middle/part", fileName);

然后,您可以在File上使用sourcePath操作。

每个环境都有自己的App.config文件。