gpt4 book ai didi

c# - 如何摆脱 Web.config 中的单元测试遗留问题?

转载 作者:行者123 更新时间:2023-11-30 16:29:22 25 4
gpt4 key购买 nike

在将我当前的项目上传到暂存服务器时,我注意到我的 Asp.net MVC 框架的 Web.config 文件包含一些对名为

的程序集的引用
  • 主机适配器.AspNetAdapter
  • QualityTools.Common
  • QualityTools.ExecutionCommon
  • QualityTools.Resource

我自己没有添加这些条目,但从它们的名字猜测,我怀疑这些是由“添加单元测试”向导添加的。

问题是,在引用这些程序集后,该项目无法在我的暂存服务器上运行,因为它找不到相关的 DLL。他们的路径被硬编码到网页配置:

<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>

  <dependentAssembly>
<assemblyIdentity name="Microsoft.VisualStudio.QualityTools.HostAdapters.ASPNETAdapter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<codeBase version="10.0.0.0" href="file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20Studio%2010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.QualityTools.HostAdapters.ASPNETAdapter.DLL" />
</dependentAssembly>

我认为这些程序集与单元测试相关是否正确?

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

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

编辑:我已经阅读了将配置拆分为单独部分的建议。这是一个很好的建议,但它并不能帮助我解决眼前的问题,即如何让任何配置在服务器上正常工作?

最佳答案

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

这解释了他们的工作并指向更多信息。

What are the Web.Debug.config and Web.Release.Config files for?

以下是删除违规模块的转换:

  <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>

关于c# - 如何摆脱 Web.config 中的单元测试遗留问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com