【发布时间】:2015-05-28 09:51:16
【问题描述】:
我通过将命名空间分成单独的项目来重构我的 MVC/Entity Framework 项目。所以我现在有了这个结构:
MySolution.Data
MySolution.Data.Contracts
MySolution.Model
MySolution.Website
一切都在我的开发环境中构建和运行。但是,当我尝试部署到“暂存”服务器时遇到问题。
我遇到的问题是,当我将解决方案配置更改为“暂存”时,它不会构建。在配置管理器中,所有项目也有“暂存”配置。我假设这些是在添加新项目时创建的。
我尝试的第一件事是创建一个新的解决方案配置,其中包含从名为“解决方案 2”的 Debug 复制的所有内容。没有运气,仍然失败。
然后我想我只需要对网站项目进行不同的配置 - 我在其中转换配置文件。所以我更改了解决方案配置,告诉它构建和部署 Hub.Model 的“调试”配置 - 从第一条错误消息来看,它看起来像问题项目。果然,它现在构建了。
第一个错误消息(263)是:
命名空间“System.ComponentModel.DataAnnotations”中不存在类型或命名空间名称“Schema”(您是否缺少程序集引用?)MySolution.Model
所以看起来是对实体框架 dll 的引用存在问题
虽然我现在确实有一个解决方法,但我担心这个无法解释的错误会在未来的某个时候再次出现并困扰我 - 可能就在我即将部署紧急修复时。
那么,当我更改项目配置时,为什么我的一个项目会构建失败?
【问题讨论】:
-
嗯,听起来确实很奇怪。与命名空间相关的所有 263 错误都不存在吗?
-
@Coulton 看起来这确实是根本原因。困惑于为什么它会构建在一种配置中而不是另一种配置中。无论如何,我继续我的旅程 - 这是从 MVC 4 到 MVC 5 的升级。因此,自从我发布问题以来,我升级了许多包,并从我的 Models 项目中完全删除了 MVC。现在它构建,无论配置如何,所以可能会好起来。谢谢
-
很高兴听到,一切顺利!
标签: asp.net-mvc entity-framework visual-studio