Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.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
在.NET中拥有绝对路径的原因_.net_Iis_Testing - Fatal编程技术网

在.NET中拥有绝对路径的原因

在.NET中拥有绝对路径的原因,.net,iis,testing,.net,Iis,Testing,我们试图决定是让特定团队中的所有开发人员使用绝对路径作为他们的代码库,还是相对路径合适 我之所以认为是绝对路径,也就是说每个人都有相同的路径,是因为IIS和功能测试。我们的asp.net功能测试使用Nunit和WatiN启动IE并经历各种场景。要让这些从NUnitGUI独立运行,我必须检查Cassini是否正在运行,如果没有,启动它。它需要通过物理路径。因此,只有使用该特定路径的人才能以这种方式运行功能测试 是否有任何交易破坏者主张绝对(公共)路径?我也遇到过这样的情况,即开发服务器需要绝对路径

我们试图决定是让特定团队中的所有开发人员使用绝对路径作为他们的代码库,还是相对路径合适

我之所以认为是绝对路径,也就是说每个人都有相同的路径,是因为IIS和功能测试。我们的asp.net功能测试使用Nunit和WatiN启动IE并经历各种场景。要让这些从NUnitGUI独立运行,我必须检查Cassini是否正在运行,如果没有,启动它。它需要通过物理路径。因此,只有使用该特定路径的人才能以这种方式运行功能测试


是否有任何交易破坏者主张绝对(公共)路径?

我也遇到过这样的情况,即开发服务器需要绝对路径才能启动。它也用于单元测试。在花了几天时间讨论这个问题之后,我决定尽可能多地进行重构,以使测试工作正常进行,而不需要提供实际的ASP.NET页面。这意味着放弃一些打包服务器控件的自动化UI测试,但最终,我从未找到一个好的解决方案

绝对路径是我在几乎任何环境中遇到的最糟糕的事情之一。他们是一颗等待发生的定时炸弹


也就是说,我经常有一个应用程序需要一个绝对UNC路径作为上传文件的“放置”位置(当托管在web场中时)。最后,我发现这是可以接受的,因为没有更好的解决方案。

使用相对路径名。真正地考虑分支您的存储库。考虑设置单元测试。考虑使用单独的调试版本和发布版本。有点双关语。。。这都是相对的。

如果可能的话,我会避免绝对路径。作为一个通用的开发原则,我应该能够在我的机器上随时检查您的代码


如果出于某种原因必须使用绝对路径,请将它们放在.config文件应用程序设置中-至少这样,您的开发和部署计算机可以有不同的路径。

避免像瘟疫一样使用绝对路径。它们会以这样或那样的方式咬你

一个绝对路径分散的项目总是会打破任何自动化构建或采用合理分支策略的尝试

在创建绝对路径时,您必须做的第一个决定,即驱动器号,应该告诉您这是一个非常非常糟糕的主意。当然,每个人都有一个C:驱动器。嗯

  • 我见过没有安装C:驱动器的机器
  • 我见过人们谎称每台机器都有一个D:drive,或者有很长的P:networkdrive访问权限
  • 我见过存储库开关覆盖工作,因为这是构建工作的唯一方法
  • 我已经看到,在需要简单更改时,为了找到存储绝对路径的所有位置,浪费了无数个小时
不要这样做。不管怎样,不要