我从https://github.com/Azure-Samples/azure-cosmos-db-mongodb-dotnet-getting-started/archive/master.zip下载了示例应用程序,它目前确实处于不一致状态,应该是由MS修复。
问题
项目引用的 dll 无法找到:
原因是 Nuget 被要求下载 MongoDB.BSon 2.6.1,但项目引用正在搜索 2.3.0 文件夹。
<Reference Include="MongoDB.Driver, Version=2.3.0.157, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.3.0\lib\net45\MongoDB.Driver.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.3.0.157, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.3.0\lib\net45\MongoDB.Driver.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MongoDB.Driver.Legacy, Version=2.3.0.157, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\mongocsharpdriver.2.3.0\lib\net45\MongoDB.Driver.Legacy.dll</HintPath>
<Private>True</Private>
</Reference>
我向 MS 报告了这个问题,你可以在这里跟踪它:https ://github.com/MicrosoftDocs/azure-docs/issues/28204
修复
您可以等待 MS 修复它 - 或者 - 自己修复损坏的引用:
- 删除无效的 MongoDB.* 程序集引用。
- 从 nuget 下载的文件夹中读取引用:
- ..\packages\MongoDB.Bson.2.6.1\lib\net45\MongoDB.Bson.dll
- ..\packages\MongoDB.Driver.2.6.1\lib\net45\MongoDB.Driver.dll
- ..\packages\MongoDB.Driver.Core.2.6.1\lib\net45\MongoDB.Driver.Core.dll
- 编译验证
您还可以通过打开 MyTaskListApp.csproj 文件并在那里进行编辑来简化上述过程:
<Reference Include="MongoDB.Bson">
<HintPath>..\packages\MongoDB.Bson.2.6.1\lib\net45\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver">
<HintPath>..\packages\MongoDB.Driver.2.6.1\lib\net45\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core">
<HintPath>..\packages\MongoDB.Driver.Core.2.6.1\lib\net45\MongoDB.Driver.Core.dll</HintPath>
</Reference>