【发布时间】:2017-03-14 00:00:53
【问题描述】:
我创建了几个 MyGet 包,并将它们推送到我的提要中。我已经成功地在我的项目中引用了这些包。我可以看到 NuGet 包管理器中列出的包,并且可以看到它们下载到 Users[用户名].nuget\packages 中。事实上,当我删除了 packages 文件夹中的那些文件夹并在我的解决方案中恢复包时,我看到这些文件夹又被下载了。当然,我的 project.json 文件中也列出了这些引用。
到目前为止,一切看起来都很好。
然后我尝试从其中一个包中引用一个类,而 Visual Studio 根本找不到它。它只是给了我标准的“类型或命名空间......不存在”错误。另外,我尝试在对象资源管理器中拉出包以查看是否可以查看类,但它无法在任何地方找到列出的包,而它可以看到所有其他已拉下的 Nuget 包。
我什至去我的 MyGet 提要下载了一个包,并确保列出了所有的类和接口,而且,果然,它们都在那里。
所以回顾一下 - 我的项目参考看起来不错。包的内部看起来不错。 VS 正在将包下载到 Users[user].nuget\packages。但是,我完全无法在我的代码中使用这些包。
我不知道这是否有区别,但这是 VS 2015,我使用的是 .NET Core。
我该如何解决这个问题?
Solution Explorer showing that the 3 packages can't be expanded for more details.
【问题讨论】:
-
你是如何创建这些包的?
dotnet pack在另一个 project.json 或 nuspec + csproj 上? -
我添加了一个 nuspec。这是一个 xproj,因为它是 .NET 核心。
-
hmm.. 如果您也为 nuget 包使用 .net 核心工具,则不需要 nuspec,只需要 project.json,然后执行
dotnet pack -c Release,它应该放一个.nupkg在您的bin文件夹中的某个位置。多目标包的正确包布局有点复杂,所以dotnet pack是你最好的 .net core 朋友.. -
project.json的packOptions部分允许您指定在使用 csproj 时必须添加到 nuspec 的所有其他属性。 -
@MilanMalkani 如果您在解决方案资源管理器中展开引用,您的库会显示吗?
标签: visual-studio-2015 nuget .net-core myget