Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 如何在我的Web.config中消除单元测试的残余?_C#_Asp.net_Asp.net Mvc_Visual Studio_Web Config - Fatal编程技术网

C# 如何在我的Web.config中消除单元测试的残余?

C# 如何在我的Web.config中消除单元测试的残余?,c#,asp.net,asp.net-mvc,visual-studio,web-config,C#,Asp.net,Asp.net Mvc,Visual Studio,Web Config,在将当前项目上载到登台服务器时,我注意到Asp.net MVC框架的Web.config文件包含对调用 Hostadapters.AspNetAdapter 质量工具。通用 QualityTools.ExecutionCommon 质量工具。资源 我自己没有添加这些条目,但从它们的名称猜测,我怀疑这些条目是由“添加单元测试”向导添加的 问题是,当引用这些程序集时,项目不会在我的临时服务器上运行,因为它找不到相关的DLL。它们的路径被硬编码到 Web.config: <httpModul

在将当前项目上载到登台服务器时,我注意到Asp.net MVC框架的Web.config文件包含对调用

  • Hostadapters.AspNetAdapter
  • 质量工具。通用
  • QualityTools.ExecutionCommon
  • 质量工具。资源
我自己没有添加这些条目,但从它们的名称猜测,我怀疑这些条目是由“添加单元测试”向导添加的

问题是,当引用这些程序集时,项目不会在我的临时服务器上运行,因为它找不到相关的DLL。它们的路径被硬编码到 Web.config:

<httpModules>
  <add name="HostAdapter" type="Microsoft.VisualStudio.TestTools.HostAdapter.Web.HttpModule, Microsoft.VisualStudio.QualityTools.HostAdapters.ASPNETAdapter, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpModules>



我认为这些组件与单元测试相关,对吗

当我试图删除其中一些条目时,服务器响应错误403“拒绝访问:禁止”。这可能是什么意思,我如何避免它

我可以简单地将引用的DLL文件上传到服务器的某个地方,但这似乎与直觉相反。我还有其他选择吗


编辑:我已经阅读了将配置拆分为单独部分的建议。这是一个很好的建议,但它并不能帮助我解决如何在服务器上运行任何配置这一直接问题。

我将有单独的web.config文件用于暂存和实时

出于开发目的,经常需要更改许多设置,例如缓存长度、安全设置、URL等

根据我的经验,使用相同的配置会导致灾难-需要1名开发人员更改设置才能在本地工作,然后签入更新的文件,最终导致临时服务器损坏(或可能处于活动状态)

如果您使用构建,那么在构建过程中用web.live.config或web.staging.config替换web.config就很简单了


然后,您的问题就消失了。

测试破坏您的配置并破坏您的部署的痛苦也发生在我身上。解决这个问题的正确方法是使用不同的配置文件进行调试、登台和发布

这解释了他们的工作,并指出了更多的信息

以下是用于删除有问题模块的转换:

  <system.web>
    <httpModules>
      <add name="HostAdapter" xdt:Locator="Match(name)" xdt:Transform="Remove" />
    </httpModules>           
  </system.web>

  <system.webServer>
    <modules>
      <add name="HostAdapter" xdt:Locator="Match(name)" xdt:Transform="Remove"/>
    </modules>
  </system.webServer>


403错误的确切含义是什么?403错误的代码行上写着“无法验证:访问被拒绝”?你能提供堆栈跟踪吗?不,我不能。这是我得到的唯一信息。这甚至不是一条Asp.net错误消息,而是来自服务器本身。虽然这确实是一条很好的建议,但它不能帮助我解决我的问题,即:此条目的作用是什么,如何在不中断安装的情况下删除它?另外,如果我需要包含引用的DLL,那么什么是一个好的方法呢?我唯一剩下的问题是人们在构建服务器上做什么,通常,构建是发布的。安装VS?把这些DLL复制过来?
  <system.web>
    <httpModules>
      <add name="HostAdapter" xdt:Locator="Match(name)" xdt:Transform="Remove" />
    </httpModules>           
  </system.web>

  <system.webServer>
    <modules>
      <add name="HostAdapter" xdt:Locator="Match(name)" xdt:Transform="Remove"/>
    </modules>
  </system.webServer>