Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NuGet服务器找不到NuGet.Core DLL_Nuget - Fatal编程技术网

NuGet服务器找不到NuGet.Core DLL

NuGet服务器找不到NuGet.Core DLL,nuget,Nuget,我一直在尝试启动并运行NuGet服务器的本地版本。我已经创建了一个空网站,并通过VS2010中的NuGet安装了NuGet服务器包。当我运行它时,我会看到“主页”,但当点击包提要时,我会看到: 服务器在处理请求时遇到错误。例外 消息为“无法加载文件或程序集”NuGet.Core, 版本=1.4.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'或 它的一个依赖项。找到的程序集的清单定义 与程序集引用不匹配。(HRESULT的例外情况: 0x8013100)”。

我一直在尝试启动并运行NuGet服务器的本地版本。我已经创建了一个空网站,并通过VS2010中的NuGet安装了NuGet服务器包。当我运行它时,我会看到“主页”,但当点击包提要时,我会看到:

服务器在处理请求时遇到错误。例外 消息为“无法加载文件或程序集”NuGet.Core, 版本=1.4.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'或 它的一个依赖项。找到的程序集的清单定义 与程序集引用不匹配。(HRESULT的例外情况: 0x8013100)”。有关详细信息,请参阅服务器日志。异常堆栈 跟踪是:

位于NuGet.Server.DataServices.Packages.CreateDataSource()的 System.Data.Services.DataService
1.CreateDataSourceInstance()位于
System.Data.Services.DataService
1.CreateProvider()位于 System.Data.Services.DataService
1.HandleRequest()位于
System.Data.Services.DataService
1.ProcessRequestFormMessage(流 messageBody)在SyncInvokeProcessRequestFormMessage(对象,对象[], 对象[])位于 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象 实例、对象[]输入、对象[]和输出) System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)位于System.ServiceModel.Dispatcher.MessageRpc.Process(布尔值 等操作上下文集)

包管理器下拉的Nuget.Core版本是1.4.20615.9012。我在解决方案中的任何地方都看不到对1.4.0.0的任何引用

我尝试添加程序集绑定重定向来处理此问题:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="NuGet.Core" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="0.0.0.0-1.4.0.0" newVersion="1.4.20615.9012"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

但这只是将错误更改为

服务器在处理请求时遇到错误。例外 消息为“无法加载文件或程序集”NuGet.Core, 版本=1.4.20615.9012,区域性=中性, PublicKeyToken=31bf3856ad364e35'或其依赖项之一。这个 定位程序集的清单定义与程序集不匹配 参考资料。(来自HRESULT:0x8013100的例外情况)”。有关详细信息,请参阅服务器日志 更多细节

DLL肯定在bin文件夹中,并且是该版本。我已尝试将引用的“Specific Version”属性更改为False,但这没有任何区别

有人对我下一步可以尝试什么有什么建议吗


更新

在浏览项目文件时,我发现:

<Reference Include="NuGet.Core, Version=1.4.20609.9012, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
    <HintPath>..\packages\NuGet.Core.1.4.20615.9012\lib\net40\NuGet.Core.dll</HintPath>
    <SpecificVersion>False</SpecificVersion>
</Reference>

..\packages\NuGet.Core.1.4.20615.9012\lib\net40\NuGet.Core.dll
假的
1.4.20609.9012似乎与任何东西都不匹配,所以我不确定这是从哪里来的。但是,将我的绑定更新到这个似乎是可行的:

<dependentAssembly>
    <assemblyIdentity name="NuGet.Core" publicKeyToken="31bf3856ad364e35" />
    <bindingRedirect oldVersion="0.0.0.0-1.4.0.0" newVersion="1.4.20609.9012"/>
</dependentAssembly>


不过,老实说,我靠运气让它工作,我真的不知道为什么这会修复它。任何想法都会受到欢迎。

这应该现在就解决。如果不是,请在

上提交一个bug,了解一下这个问题,因为我以前也遇到过这个问题,并以类似的方式修复了它-尽管我的问题发生在我有多个.sln文件和项目的地方,并且通过Nuget包下载,绑定变得完全错误。它开始引用我不使用也没有的版本,所有的绑定都被弄糟了。基本上,简单的解决方案是重新编写您自己的绑定,并检查您是否删除了(隐藏文件),如果您有任何可能影响项目的其他绑定版本的引用。不幸的是,在我看来,我的EF太聪明了,编写和引用了错误的绑定,虽然更新Nuget包也没有帮助,但我很高兴你得到了解决方案。如果任何人确实有这样的问题,只需检查您的引用、版本和绑定即可