Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 如何根据平台使一行代码处于非活动状态?_C#_Asp.net_Localhost - Fatal编程技术网

C# 如何根据平台使一行代码处于非活动状态?

C# 如何根据平台使一行代码处于非活动状态?,c#,asp.net,localhost,C#,Asp.net,Localhost,我有一个挑战给你 我有一个用Microsoft Visual Studio 2017在C#中构建的ASP.NET Web应用程序。我们必须包含一行代码,以便在调试时通过将其附加到web浏览器中正在运行的进程在本地主机上运行 问题就在这里。当进程在服务器上运行时,该行代码不是必需的 我可以在TFS中提交代码时删除该行。但如果我们能让代码忽略这一行,那就太好了,这取决于它运行在什么平台上 你认为这是怎么做到的呢?我对ASP.NET不太了解,但是如果你想让它运行或不运行,你能创建一个名为LOCALHO

我有一个挑战给你

我有一个用Microsoft Visual Studio 2017在C#中构建的ASP.NET Web应用程序。我们必须包含一行代码,以便在调试时通过将其附加到web浏览器中正在运行的进程在本地主机上运行

问题就在这里。当进程在服务器上运行时,该行代码不是必需的

我可以在TFS中提交代码时删除该行。但如果我们能让代码忽略这一行,那就太好了,这取决于它运行在什么平台上


你认为这是怎么做到的呢?

我对ASP.NET不太了解,但是如果你想让它运行或不运行,你能创建一个名为LOCALHOST或类似的构建选项吗

#if LOCALHOST
//do this line
#endif

我在过去使用C++的IF指令做过C++。一个快速的谷歌,这也可以在C#中找到

通过定义#if条件后跟#endif,仅当为定义的条件编译时,才会运行包装在其中的代码。在您的情况下,您可以使用#if DEBUG,下面的代码只能在DEBUG模式下执行


参考资料:

?这是一个有用的参考资料Alex K!这是个好主意。但是如果你在项目文件中做了这个构建选项,我想你必须记住不要签入项目文件。这是个好主意,但我选择了bluiska作为答案。尽管如此,如果服务器上的代码也在调试模式下运行,也可以说您的代码就是答案。不一定,我假设您必须以任何方式重建调试/发布版本。运行发布的版本时,只需将var翻转为false即可。但是你必须记得在你确实需要的时候设置它。我认为@bluiska answer在这种情况下会工作得更好。在本地运行并单步执行代码显然处于调试模式,而在服务器上则不是。