由于缺少'而无法构建发布配置引用

时间:2015-10-19 10:34:40

标签: c# visual-studio

我有一个包含6个左右项目的解决方案,这些项目在调试配置时都可以正常运行。但是,当我尝试在发布模式下构建它时,我得到53个错误,所有人都抱怨说无法找到DLL。这只是一些消息:

错误:

  • ' AnimatedSplashScreen'不包含'消息'的定义没有扩展方法'消息'接受类型' AnimatedSplashScreen'的第一个参数。可以找到(你错过了使用指令或汇编引用吗?)
  • 名称' DataContext'在当前背景下不存在。
  • 名称' InitializeComponent'在当前背景下不存在。
  • 标签' MetroProgressBar'在XML命名空间中不存在< clr-namespace:MahApps.Metro.Controls; assembly = MahApps.Metro' .39

警告

  • 无法解析此引用。无法找到程序集" EntityFramework,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089,processorArchitecture = MSIL"。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。
  • 无法解析此引用。无法找到程序集" Fluent,Version = 3.5.1.198,Culture = neutral,PublicKeyToken = 3e436e32a8c5546f,processorArchitecture = MSIL"。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。
  • 无法解析此引用。无法找到程序集" GalaSoft.MvvmLight,Version = 5.2.0.37222,Culture = neutral,PublicKeyToken = e7570ab207bcb616,processorArchitecture = MSIL"。检查以确保磁盘上存在程序集。如果您的代码需要此引用,则可能会出现编译错误。

我该如何解决此问题?

调试路径保持不变,但每个项目发布路径都已设置为构建到特定文件夹中。

编辑:这是我的错误列表的样子。所有错误似乎都与第三方软件包有关。 Errors and Warnings

8 个答案:

答案 0 :(得分:11)

我有类似的问题。 Project在Debug模式下构建良好,但在Release模式下,缺少一些引用。

我发现,缺少引用的dll都位于bin / debug文件夹中。 我将它们移向中立位置,再将它们添加到项目中,问题就解决了。

答案 1 :(得分:3)

正如Filburt指出的那样。项目文件中有一些损坏的引用路径。在纠正这些路径后,所有内容都按预期构建。

虽然不确定他们是如何被打破的。有什么想法吗?

答案 2 :(得分:0)

我的问题是所引用的库选中了“允许不安全代码”复选框,但是在发行版中未选中该复选框。不允许不安全代码的错误不可见。

答案 3 :(得分:0)

出现错误时,转到项目下的“参考”。 删除编译器抱怨的引用。 再次添加。

那应该修复损坏的引用。

答案 4 :(得分:0)

从调试更改为发布模式时,我遇到了同样的问题。我正在尝试上面发布的其他建议,但没有任何解决方案。但是,对我来说,当我右键单击“参考”>“将packages.config迁移到PackageReference ...”时,选择“确定”,它开始工作。

Right-click References

答案 5 :(得分:0)

在重命名引用项目中的一个类之后,我遇到了同样的问题。我尝试了此处发布的所有[好吧,大多数]建议,但没有一个起作用。我终于卸载了有错误的项目,然后再次重新加载,所有错误都消失了!

答案 6 :(得分:0)

针对将要发布此帖子的其他搜索者。 我还发现了一个问题,即引用库可能没有匹配的.NET版本! 值得一试...

答案 7 :(得分:0)

删除“.vs”文件夹是我的解决方案。