测试C#中运行的文件夹项目

时间:2017-03-30 14:33:09

标签: c#

我有代码测试运行项目的文件夹,以确定它是测试版本还是生产版本。我知道有一种方法可以通过调试版本和发布版本之间的区别来实现这一点(我希望将来能够做到这一点,但我还不知道如何)。所以现在,这是一个解决方法,让我得到我需要的东西。当我从Visual Studio运行时,此代码可以正常工作,但是当我的计划任务运行编译版本时,此代码无效。

string projectPath = System.IO.Directory.GetCurrentDirectory();
var TestVersion = true;
if (projectPath == @"H:\Automation\RefreshData\RefreshData\bin\Debug" || projectPath == @"\\atlelz1fs03.atalanta.local\USERS\Automation\RefreshData\RefreshData\bin\Debug" || projectPath == @"H:\Automation\RefreshData" || projectPath == @"\\atlelz1fs03.atalanta.local\USERS\Automation\RefreshData")
{
    TestVersion = false;
}

我应该在哪个文件夹中查找已编译的版本?还是有更好的方法让我确定这个?

1 个答案:

答案 0 :(得分:3)

使用precompiler statements

#if DEBUG
    var TestVersion = true;
#endif
#if !DEBUG
    var TestVersion = false;
#endif

然后当你在调试模式下运行并在visual studio中选择调试时(正常)当你发布时将其更改为Release

enter image description here

这会在您发布的代码中将TestVersion设置为false。 (顺便说一句,我有很多配置选项,只需忽略这些选项,您可能只有DebugRelease

如果您使用持续集成为您编译代码,这样做会更好,您可以将其配置为执行此操作,这样您就不会忘记。