.NET Core RC2:使用包的本地分支
.NET Core RC2: use local fork of a package
我有一个项目,该项目又引用了官方 nuget 库 (forecast.io) 的一个分支。我已经安排我的 global.json 找到我的 lib 副本,但 dotnet restore
似乎仍然接触到官方版本而不是我的叉子。
我得出这个结论是因为我得到了错误:
Package Forecast.io 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Forecast.io 1.0.0 supports: net45 (.NETFramework,Version=v4.5)
One or more packages are incompatible with .NETCoreApp,Version=v1.0.
然而我的 forecast.io 分支甚至没有针对 .NET 4.5 - 只有 "net40" 和 "netcoreapp1.0"。
如何确保使用我的本地分叉?
这是我的 global.json
{
"projects": [
"../../ext/forecast.io-csharp/src/Forecast.io",
"MyOtherLibRefWhichWorks",
"MyPrimaryProject"
]
}
以及来自 project.json 主要项目的片段:
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
},
"MyOtherLibRefWhichWorks": "1.0.0-*",
"Forecast.io": "1.0.0-*",
编辑:似乎 global.json 完全被忽略了。它位于 project.json 所在目录的上方一个目录..
创建您自己的本地或远程 Nuget 提要将是针对这种情况的更可靠的解决方案。我自己这样做是为了管理我发布的软件包的 beta 版本,而且效果非常好。
要在本地执行,您只需要一个空文件夹和 Nuget CLI。如果您的文件夹是 C:\Nuget
、运行
nuget add package.nupkg -source C:\Nuget
将您的分叉包添加到本地提要。为确保没有任何混淆,请使用与官方包不同的名称或版本号构建您的分叉包。
然后,将 Nuget 配置为使用您的本地提要作为来源:
nuget sources Add -Name LocalNuget -Source C:\Nuget
完成所有设置后,更新您的 project.json
以引用您的分叉包并再次 运行 dotnet restore
以下载本地副本。
如果您需要在多台机器上或在团队环境中恢复包,您可以设置自己的 NuGet 服务器或使用 MyGet.org 来托管您的包。
我有一个项目,该项目又引用了官方 nuget 库 (forecast.io) 的一个分支。我已经安排我的 global.json 找到我的 lib 副本,但 dotnet restore
似乎仍然接触到官方版本而不是我的叉子。
我得出这个结论是因为我得到了错误:
Package Forecast.io 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Forecast.io 1.0.0 supports: net45 (.NETFramework,Version=v4.5)
One or more packages are incompatible with .NETCoreApp,Version=v1.0.
然而我的 forecast.io 分支甚至没有针对 .NET 4.5 - 只有 "net40" 和 "netcoreapp1.0"。
如何确保使用我的本地分叉?
这是我的 global.json
{
"projects": [
"../../ext/forecast.io-csharp/src/Forecast.io",
"MyOtherLibRefWhichWorks",
"MyPrimaryProject"
]
}
以及来自 project.json 主要项目的片段:
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
},
"MyOtherLibRefWhichWorks": "1.0.0-*",
"Forecast.io": "1.0.0-*",
编辑:似乎 global.json 完全被忽略了。它位于 project.json 所在目录的上方一个目录..
创建您自己的本地或远程 Nuget 提要将是针对这种情况的更可靠的解决方案。我自己这样做是为了管理我发布的软件包的 beta 版本,而且效果非常好。
要在本地执行,您只需要一个空文件夹和 Nuget CLI。如果您的文件夹是 C:\Nuget
、运行
nuget add package.nupkg -source C:\Nuget
将您的分叉包添加到本地提要。为确保没有任何混淆,请使用与官方包不同的名称或版本号构建您的分叉包。
然后,将 Nuget 配置为使用您的本地提要作为来源:
nuget sources Add -Name LocalNuget -Source C:\Nuget
完成所有设置后,更新您的 project.json
以引用您的分叉包并再次 运行 dotnet restore
以下载本地副本。
如果您需要在多台机器上或在团队环境中恢复包,您可以设置自己的 NuGet 服务器或使用 MyGet.org 来托管您的包。