c# - 构建一个 web 项目破坏了解决方案中第二个的编译版本

标签 c# iis visual-studio-2015 roslyn

我有一个包含 30 个项目的大型解决方案,其中 2 个是 Web 项目(MVC 和 WebAPI)以及一堆后台类库项目。

我设置了 visual studio 以在 IIS 中托管 Web 项目。

如果我进行全新构建,然后对整个解决方案进行完整构建,那么通过浏览器访问这两个项目都可以正常工作。 (它们位于差异文件夹中并托管在 iis 中的差异“域”中)

如果我不做任何代码更改,只需重新构建 2 个 Web 项目之一,另一个就会停止工作。

需要说明的是,重建WebAPI工程导致MVC工程出错。反之亦然。

我得到的错误是说找不到 System.Web.Http.Formatter。详细信息说定位的程序集版本与引用版本不同。检查 bin 文件夹表明情况并非如此。

最佳答案

确保解决方案的所有资源都是最新的。如果您使用 Nuget,请更新所有项目中的所有包(先备份!)。听起来您的版本不匹配,复制到解决方案输出目录的 DLL 中缺少功能。它可能涉及更改每个项目的 Web.config 中的某些条目,但无法访问代码,因此很难确定。

更新每个库后报告,并确保解决方案中所有项目的版本匹配。

关于c# - 构建一个 web 项目破坏了解决方案中第二个的编译版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34942075/

相关文章:

asp.net - 在根站点下托管的应用程序中配置子目录身份验证模式

vb.net - 如何在 vb 中选择小于 "1000"或 "n"的随机数?

version-control - VisualStudio 2015 在打开解决方案后锁定 TFS 上的 sln 文件,但未更改 sln 文件

python - 如何在 Windows Server 2012 r2 中将 Laravel 作业作为服务运行并公开访问该项目?

c# - VS2015自动完成功能不起作用

c# - 如何将上下文指示器添加到翻转 View

c# - 使用 C# 正则表达式使用 SSIS 脚本匹配以 "case"开头的 ID

c# - XMLDocument.Load(url) 通过代理

c# - 使用 fluent api EF Core 5 的多对多关系

iis - 创建 IIS 网站的代码