asp.net - 一键发布 : Exception in executing publishing: An item with the same key has already been added

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

我意识到有 10 亿人已经询问过这个错误,但我已经查看了所有这些错误。我的好像不一样我没有收到任何类型的源代码错误,没有堆栈跟踪,也没有任何有用的信息,因为在我的 MVC.NET 项目上单击“发布”后立即发生错误。它只是一个对话框,仅此而已。没有其他事情发生。

可能相关的事情:

  • 我正在使用团队基础。我遇到了一些麻烦(用户错误)
    有一段时间了,但我只是把一切都恢复到了它应该的样子
    (我认为)。
  • 有一次我使用了 EDMX 的东西。我删除赞成从头开始制作我的表格模型。
  • 我再也找不到我的发布配置文件,也无法弄清楚如何制作新的配置文件。我以为它应该在 ~/PublishProfiles文件夹。它不在那里。

  • 我知道我没有提供很多信息,但我什至不知道从哪里开始。我很乐意应要求提供其他任何东西。谢谢你。

    编辑
    我应该注意到它在本地主机服务器上完美地构建和运行。

    编辑 2
    我回滚到源代码管理的最旧版本,它工作正常。我想我可以煞费苦心地完成每个变更集。另外,我确实找到了 PublishProfiles 文件夹。我确认没有对配置文件进行任何更改。

    最佳答案

    我错了,没有对发布配置文件进行任何更改。这是发生的事情。

    我设置了一个代码优先的实体上下文,例如,MyDBContext .在我的发布文件 myprofile.pubxml , 一些代码会像这样自动插入:

    <PublishDatabaseSettings>
      <Objects xmlns="">
        <ObjectGroup Name="MyDBContext" ......
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MyDBContext-Web.config Connection String" />
    

    然后,我决定尝试 EDMX 的东西。但我保存了我的旧结构以防万一。现在文件看起来像这样:
    <PublishDatabaseSettings>
      <Objects xmlns="">
        <ObjectGroup Name="MyDBContext" Order="1" ......
        <ObjectGroup Name="myEntities" Order="2" ......
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MyDBContext-Web.config Connection String" />
    <MSDeployParameterValue Include="$(DeployParameterPrefix)myEntities-Web.config Connection String" />
    

    但后来,我决定放弃 EDMX 的东西。然而,不知何故,这发生了,而不是删除 .pubxml 文件中的第二组条目:
    <PublishDatabaseSettings>
      <Objects xmlns="">
        <ObjectGroup Name="MyDBContext" Order="1" ......
        <ObjectGroup Name="MyDBContext" Order="2" ......
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MyDBContext-Web.config Connection String" />
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MyDBContext-Web.config Connection String" />
    

    瞧。第二组删除了,我很高兴。

    关于asp.net - 一键发布 : Exception in executing publishing: An item with the same key has already been added,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13298598/

    相关文章:

    asp.net-mvc - 在 MVC 4 中注册自定义模型绑定(bind)器

    c++ - 如何将 C++ 类导出为 dll?

    c# - 当 RegisterEventBus "No service for type Autofac.ILifetimeScope' 已注册时。

    c# - 如何使用 C# 和 ASP.NET 将用户放入队列

    c# - 如何读取应用程序日志并根据 ASP.NET 中的源对其进行过滤?

    asp.net-mvc - 如何在 Visual Studio 2012 或 Visual Studio 2013 中打开旧的 MVC 项目?

    c# - 文件类型图标未在 Visual Studio 中更新

    asp.net - WebResource 报告 404 文件未找到

    jquery - 将大型 JSON 对象发布到 ASP.NET MVC

    c# - 使用信号量调用 WaitOne 是否会释放调用线程以执行其他工作?