在.NET Core项目

时间:2016-10-31 20:25:51

标签: visual-studio-2015 nuget .net-core myget

我已经创建了一些MyGet包,我已将其推送到我的Feed中。我在项目中成功引用了这些包。我可以看到NuGet包管理器中列出的包,我可以在Users [username] .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.

1 个答案:

答案 0 :(得分:1)

请使用project.json文件中添加的以下脚本代码打包.NET Core包。

"scripts": {
"postcompile": [
  "dotnet pack --no-build --configuration %compile:Configuration%"
  ]
}

编译.NET Core项目后,它将在\ bin \ debug文件中生成.nupck文件。然后,请将此软件包上传到您的NuGet Feed并将其安装到您的项目中。

如果我使用使用nuspec文件的步骤打包.NET Core软件包,我会遇到同样的问题。 .NET Core项目与通用项目不同,后者是project.json的管理包。因此,请使用project.josn文件打包.NET Core包。