当我在Visual Studio中更改配置时,Project不会构建

时间:2015-05-28 09:51:17

标签: asp.net-mvc entity-framework visual-studio

我通过将名称空间分成单独的项目来重构我的MVC / Entity Framework项目。所以我现在有了这个结构:

MySolution.Data
MySolution.Data.Contracts
MySolution.Model
MySolution.Website

一切都在我的开发环境中构建和运行。但是当我尝试部署到我的" Staging"服务器

我遇到的问题是,当我将解决方案配置更改为" Staging"时,它不会构建。在配置管理器中,所有项目还具有" Staging"配置。我假设这些是在添加新项目时创建的。

我尝试的第一件事就是创建一个新的解决方案配置,其中所有内容都从Debug命名为"解决方案2"。没有运气,仍然失败。

然后我想我的网站项目只需要一个不同的配置 - 我在那里转换配置文件。所以我改变了解决方案配置,告诉它构建和部署" Debug" Hub.Model的配置 - 从第一个错误消息看起来像问题项目。果然它现在正在建立。

第一条错误消息(263)是:

  

类型或命名空间名称'架构'名称空间中不存在System.ComponentModel.DataAnnotations' (你错过了一个程序集引用吗?)MySolution.Model

因此,它似乎是对Entity Framework dll的引用的问题

虽然我现在确实有一个解决方法,但我担心这个无法解释的错误会在未来的某个时刻再次出现,并且可能就在我即将部署紧急修复时。

那么,当我更改项目配置时,为什么我的某个项目无法构建?

1 个答案:

答案 0 :(得分:1)

您需要确保安装正确的nuget包并引用所有程序集。

您显示的错误解决方案如下:(Reference

  

您必须引用定义此命名空间的程序集   (在visual studio模板中默认不引用它)。打开   你的参考经理并添加一个参考   System.ComponentModel.DataAnnotations程序集(解决方案资源管理器 - >   添加参考 - >选择.Net标签 - >选择   列表中的System.ComponentModel.DataAnnotations)。然后选择该引用并在属性集" copy local"为true,一旦你发布它将在你的bin文件夹中,并且不会影响任何服务器上的x32或x64。

快乐编码:)