找不到软件包“ Glass.Mapper”的版本“ 4.2.1.188”

时间:2019-06-21 18:05:55

标签: nuget sitecore glass-mapper

我是Sitecore和Glass.Mapper工具的新手。我正在使用Visual Studio 2013和Sitecore 8.1,以获得我已经开始研究的解决方案(不是作者)。

由于我观察到的其他问题,我将尝试证明我的解决方案现在具有的功能以消除构建错误。

我的packages.config包括以下内容:

<package id="Glass.Mapper" version="4.2.1.188" targetFramework="net45" />
<package id="Glass.Mapper.Sc" version="4.2.1.188" targetFramework="net45" />

我的nuget.config包含以下内容:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="true" />
  </solution>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
  <packageSources>
    <add key="nuget v2" value="https://www.nuget.org/api/v2" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
</configuration>

我已经从我们的Packages目录中将这些作为项目引用添加到每个Dlls中,其中一些项目中还包括以下内容:

  <package id="Glass.Mapper.Sc.CastleWindsor" version="3.3.0.25" targetFramework="net45" />
  <package id="Glass.Mapper.Sc.Core" version="4.2.1.188" targetFramework="net45" />
  <package id="Glass.Mapper.Sc.Mvc-5" version="3.3.0.45" targetFramework="net45" />

解决方案错误已从数百个减少到约20个,主要是由于此问题,以及由于相关项目无法生成其项目Metadata file "..." could not be found而出现的Dlls错误。

我们无法在适当位置升级Nuget,并且由于已使用在密钥包中引用了不赞成使用的方法的代码,因此无法使用Manage Nuget Packages for Solution进行升级。

1 个答案:

答案 0 :(得分:0)

如果使用Web浏览器在nuget.org上浏览软件包,则可以猜测用于查看特定版本软件包的模式。因此,GlassMapper的4.2.1.188版本将使用URL https://www.nuget.org/packages/Glass.Mapper/4.2.1.188

在那里,我看到一条消息

  

所有者已取消列出此包裹。这可能意味着该软件包已被弃用或不再使用。

因此该软件包存在,因此现有的软件包应该能够还原它,但是所有者已将其删除,以减少新项目开始使用它的可能性。有趣的是,程序包所有者已取消列出该程序包的所有版本,表明该程序包已弃用。

无论如何,正如我提到的那样,通常仍可以还原该软件包(这是取消列出与删除的重点)。因此,我最好的猜测是,与Visual Studio 2013一起使用的NuGet版本不支持未列出的软件包,因为它确实非常老。

您可以从nuget.org/downloads下载nuget.exe,从命令行还原,然后使用Visual Studio。否则,您可能需要升级到Visual Studio的较新版本。