2016-08-25 70 views
0

我想将JsonConvert添加到项目中。我对.NET开发很陌生,但我认为它与apt-get类似。安装软件包,开始工作。Nuget Package-Install破坏了我们的Umbraco项目

我开的NuGet,做包安装NewtonSoft.Json

它迅速卸载很多的包,然后重新安装这些新版本而无需提示。

现在项目已经坏了。尝试加载网站结果的开发版本。

“无法加载文件或程序集”UrlRewritingNet.UrlRewriter“或其某个依赖项,系统找不到指定的文件。

然后,我试着运行Update-Package -restore ...希望能以某种方式回滚事物,使它们在我们安装之前就开始喜欢它们。没有运气。

更新3:

添加删除的依赖性和力卸载,包装,终于使人们有可能删除UmbracoCms.Core.7.5.2安装中的NuGet已经spontaniously增加。现在的问题是要安装UmbracoCms.Core.7.2.1,因为它似乎并不能执行软件包安装来添加它。

PM> Install-Package UmbracoCms.Core.7.2.1 
Install-Package : Unable to find package 'UmbracoCms.Core.7.2.1' 
At line:1 char:16 
+ Install-Package <<<< UmbracoCms.Core.7.2.1 
    + CategoryInfo   : NotSpecified: (:) [Install-Package], Exception 
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManag 
    ement.PowerShellCmdlets.InstallPackageCommand 

更新4:

发现你必须使用-version指定版本。结果如下。

PM> Install-Package UmbracoCms.Core -version 7.2.1 
Attempting to gather dependency information for package 'UmbracoCms.Core.7.2.1' with respect to project 'Website', targeting '.NETFramework,Version=v4.5' 
Attempting to resolve dependencies for package 'UmbracoCms.Core.7.2.1' with DependencyBehavior 'Lowest' 
Install-Package : Unable to find a version of 'Microsoft.AspNet.Mvc' that is co 
mpatible with 'ClientDependency-Mvc 1.8.0 constraint: Microsoft.AspNet.Mvc (>= 
4.0.20710)', 'Microsoft.AspNet.Mvc.FixedDisplayModes 5.0.0 constraint: Microsof 
t.AspNet.Mvc (>= 5.0.0)', 'UmbracoCms.Core 7.2.1 constraint: Microsoft.AspNet.M 
vc (>= 4.0.30506 && < 5.0.0)'. 
At line:1 char:16 
+ Install-Package <<<< UmbracoCms.Core -version 7.2.1 
    + CategoryInfo   : NotSpecified: (:) [Install-Package], Exception 
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand 

更新5:

官方不知道该怎么做这样的......我从来没有经历过任何东西在我的节目的整个生活。

我正要坐下来,对前端做一些小改动,并且找不到JsonConvert ...在我的天真中,我用Nuget安装了NewtonSoft.Json,然后安装了新版本的UmbracoCms ..没有提示!然后我设法删除它......现在我无法安装旧版本。

更新6:

在网络上四处说到告诉我,这是巨大的钢铁陷阱等着使用的NuGet任何人,开发商自己也承认,它的设计打破。对我来说,安装NewtonSoft.Json是个错误......现在我不确定如何在我删除的一个解决方案上重新安装正确版本的UmbracoCms。

我会告诉我的老板由于这个原因而延长了开发时间。

回答

1

NewtonSoft.Json是Umbraco的依赖项,并且已经是您的解决方案的一部分 - 但是在与Umbraco兼容的特定版本中。你最终做的是升级NewtonSoft.Json,它会触发对每个包的依赖卸载或升级(当不支持新版本时卸载)。

应该可以通过卸载NewtonSoft.Json并重新安装UmbracoCms来解决,我想。

+0

谢谢你的回答。我试图只做这件事。 “试图收集与项目'Website'有关的包'Newtonsoft.Json.9.0.1'的相关性信息,目标是'.NETFramework,Version = v4.5' 解决要卸载包'Newtonsoft.Json.9.0 .1' Uninstall-Package:无法卸载'Newtonsoft.Json.9.0.1',因为'Micros oft.AspNet.WebApi.Client.5.2.3,UmbracoCms.Core.7.5.2'依赖于它“ –

+0

Get什么?你已经尝试恢复,我建议删除和安装。这不是一回事。此外,我没有看到日志中任何地方提到的UmbracoCms软件包,您是否偶然只安装了UmbracoCms.Core? –

+0

据我可以在我们的web.config中看到的Umbraco版本应该是:

1

当我将NewtonSoft.Json7.0.1升级到使用NuGet的最新版本时,遇到类似问题。这很奇怪,当我运行应用程序时,它需要一些许可证。所以我回到7.0.1并从那时起一直坚持下去。

我是我执行的清单步骤,用于刷新我解决方案中的所有软件包。可能有更好的办法,但这对我有用。

  1. 删除了packages文件夹中的所有内容。
  2. 使用我能找到的所有选项来清理nuget缓存。 See
  3. 如果package.config中列出的所有软件包和版本都正确,则进行验证。
  4. 我安装了nugetPowerTools。所以,启用NuGet软件包还原。
  5. VS重启。
  6. 构建解决方案,下载了所有缺少的软件包。

HTH。

+0

我一定会尝试从休克中恢复过来。 :) –