冲突阻止发布,但构建很好。 MVC5 ASP.NET

时间:2017-08-10 11:09:15

标签: c# asp.net dll visual-studio-2017 glimpse

我在asp.NET MVC5中遇到问题。将新项目添加到我的解决方案(数据库项目,连接到远程SQL服务器并使用实体框架6)后,我无法发布。一切都很好,就像本地主机上的魅力一样,但是当我尝试发布时,我得到了这个警告:

  

发现无法解析的同一依赖程序集的不同版本之间发生冲突。当日志详细程度设置为详细信息时,这些引用冲突将在构建日志中进行侦听。

据说这个警告来自我的.Data(数据库项目),但是我的.Web项目中包含了所有的引用,包等。

到目前为止,我已尝试在我的解决方案中清理每个项目,重建,清理整个解决方案,重建,并且无效。

在研究了更多如何解决此问题之后,我将构建日志更改为Diagnostic,并至少发现了冲突的内容。我的Diagnostic构建日志中的冲突如下:

  

" Glimpse.Core,Version = 1.8.6.0,Culture = neutral,PublicKeyToken = null"之间存在冲突。和" Glimpse.Core,Version = 1.8.2.0,Culture = neutral,PublicKeyToken = null"。 (TASKID:62)   2 - ; " Glimpse.Core,Version = 1.8.6.0,Culture = neutral,PublicKeyToken = null"之所以被选中,是因为它是初级的,而且" Glimpse.Core,Version = 1.8.2.0,Culture = neutral,PublicKeyToken = null"不是。 (TASKID:62)   2 - ;引用取决于" Glimpse.Core,Version = 1.8.6.0,Culture = neutral,PublicKeyToken = null" [C:{路径} \网站\包\ Glimpse.1.8.6 \ lib中\ net45 \ Glimpse.Core.dll]。 (TASKID:62)   2 - ; C:{path} \ Website \ packages \ Glimpse.1.8.6 \ lib \ net45 \ Glimpse.Core.dll(TaskId:62)   2 - ;项目文件项包括引起参考" C:{path} \ Website \ packages \ Glimpse.1.8.6 \ lib \ net45 \ Glimpse.Core.dll"。 (TASKID:62)   2 - ; Glimpse.Core,Version = 1.8.6.0,Culture = neutral,processorArchitecture = MSIL(TaskId:62)   2 - ;引用取决于" Glimpse.Core,Version = 1.8.2.0,Culture = neutral,PublicKeyToken = null" []。 (TASKID:62)   2 - ; C:{path} \ Website \ packages \ Glimpse.AspNet.1.8.0 \ lib \ net45 \ Glimpse.AspNet.dll(TaskId:62)   2 - ;项目文件项包括引起参考" C:{path} \ Website \ packages \ Glimpse.AspNet.1.8.0 \ lib \ net45 \ Glimpse.AspNet.dll"。 (TASKID:62)   2 - ; Glimpse.AspNet,Version = 1.8.0.0,Culture = neutral,processorArchitecture = MSIL(TaskId:62)   2 - ; Glimpse.Mvc5,Version = 1.5.3.0,Culture = neutral,processorArchitecture = MSIL(TaskId:62)   2 - ; C:{path} \ Website \ packages \ Glimpse.Mvc5.1.5.3 \ lib \ net45 \ Glimpse.Mvc5.dll(TaskId:62)   2 - ;项目文件项包括引起参考" C:{path} \ Website \ packages \ Glimpse.Mvc5.1.5.3 \ lib \ net45 \ Glimpse.Mvc5.dll"。 (TASKID:62)   2 - ; Glimpse.Mvc5,Version = 1.5.3.0,Culture = neutral,processorArchitecture = MSIL(TaskId:62)

再次提到Vstudio中的所述警告据说来自我的.Data项目,但Glimpse仅安装在我的.Web项目中。

我继续努力解决这个问题,但没有任何成功。到目前为止,我已尝试删除Glimpse依赖项,重新安装Glimpse(核心,mvc,aspnet),Update-Package -reinstall Glimpse,以及来自nugget manager。我试过清除Nugget缓存。我已经查看了每个.csproj文件并且只找到了Glimpse Version=1.8.6.0(我之前有过冲突,但由于两个版本都存在于.csproj中,因此修复很容易,现在我只有1个版本的Glimpse)。

我还尝试重建,重新安装,重新安装和更新VStudio 2017和VStudio 2013(我使用的主要Vstudio是2017年)的软件包,项目和解决方案。

如果需要更多信息/部分代码,错误,请告诉我,以便我可以更新我的问题!

如果有人知道如何修理,请告诉我。如果您发表评论/答案,请尽可能详细!谢谢!

2 个答案:

答案 0 :(得分:1)

如果你安装nuget包Glimpse.MVC5和Glimpse.EF6,包Glimpse.EF6依赖于Glimpse.Core 1.8.6而包Glimpse.MVC5依赖于Glimpse.Core 1.8.2。

步骤1.安装包Glimpse.MVC5

PM> Install-Package Glimpse.MVC5
Attempting to resolve dependency 'Glimpse.AspNet (≥ 1.8.0)'.
Attempting to resolve dependency 'Glimpse (≥ 1.8.2)'.
'Glimpse.Mvc5 1.5.3' already installed.
Adding 'Glimpse 1.8.2' to GPG.MVC5.Web.
Installing 'Glimpse 1.8.2'.
Successfully installed 'Glimpse 1.8.2'.
Successfully added 'Glimpse 1.8.2' to GPG.MVC5.Web.
Adding 'Glimpse.AspNet 1.8.0' to GPG.MVC5.Web.
Successfully added 'Glimpse.AspNet 1.8.0' to GPG.MVC5.Web.
Adding 'Glimpse.Mvc5 1.5.3' to GPG.MVC5.Web.
Successfully added 'Glimpse.Mvc5 1.5.3' to GPG.MVC5.Web.

In package.config 

  <package id="Glimpse" version="1.8.2" targetFramework="net451" />
  <package id="Glimpse.AspNet" version="1.8.0" targetFramework="net451" />
  <package id="Glimpse.Mvc5" version="1.5.3" targetFramework="net451" />

步骤2.安装包Glimpse.EF6

PM> Install-Package Glimpse.EF6
Attempting to resolve dependency 'Glimpse.Ado (≥ 1.7.3)'.
Attempting to resolve dependency 'Glimpse (≥ 1.8.6)'.
Installing 'Glimpse.Ado 1.7.3'.
Successfully installed 'Glimpse.Ado 1.7.3'.
Installing 'Glimpse.EF6 1.6.5'.
Successfully installed 'Glimpse.EF6 1.6.5'.
Removing 'Glimpse 1.8.2' from GPG.MVC5.Web.
Successfully removed 'Glimpse 1.8.2' from GPG.MVC5.Web.
Adding 'Glimpse 1.8.6' to GPG.MVC5.Web.
Successfully added 'Glimpse 1.8.6' to GPG.MVC5.Web.
Adding 'Glimpse.Ado 1.7.3' to GPG.MVC5.Web.
Successfully added 'Glimpse.Ado 1.7.3' to GPG.MVC5.Web.
Adding 'Glimpse.EF6 1.6.5' to GPG.MVC5.Web.
Successfully added 'Glimpse.EF6 1.6.5' to GPG.MVC5.Web.
Uninstalling 'Glimpse 1.8.2'.
Successfully uninstalled 'Glimpse 1.8.2'.


In package.config: 

  <package id="Glimpse" version="1.8.6" targetFramework="net451" />
  <package id="Glimpse.Ado" version="1.7.3" targetFramework="net451" />
  <package id="Glimpse.AspNet" version="1.8.0" targetFramework="net451" />
  <package id="Glimpse.EF6" version="1.6.5" targetFramework="net451" />
  <package id="Glimpse.Mvc5" version="1.5.3" targetFramework="net451" />

答案 1 :(得分:0)

经过数小时的调查,调试,删除,更新,尝试各种解决方案后,我终于找到了解决问题的方法。在File Publish Options Precompile during publishing <!--focusStealer, to avoid NestedScrollingView to scroll due to dynamically created views that take the focus--> <View android:layout_width="0px" android:layout_height="0px" android:focusable="true" android:focusableInTouchMode="true"/> 选项下我的FTP发布设置未选中,检查后,尝试发布,我没有任何错误或警告,解决方案开始发布。我希望这可以帮助那些面临类似问题的人!感谢所有在评论中提出建议的人!