【发布时间】:2018-12-03 21:43:05
【问题描述】:
我有一个解决方案包含:
一个老式的 .Net Framework 4.6 项目(即它不使用较新的项目 sdk 东西,它有一个 packages.config 文件和一个 nuspec 文件)
一个网络标准项目
框架项目通过项目引用引用 netstandard 项目。
我正在尝试找到一种打包框架项目的方法,同时考虑到对 netstandard 项目的依赖(这样 netstandard 项目会显示为框架项目的依赖项,而不是被捆绑在其中)。
我试过了:
-
nuget pack -IncludeReferencedProjects- 由于 netstandard 项目(已知问题,例如 https://github.com/NuGet/Home/issues/4808),此操作失败并显示“无法将 'System.String' 类型的对象强制转换为 'NuGet.Frameworks.NuGet.Frameworks1070507.NuGetFramework'”
-
在框架csproj(
<Import Project="$(MSBuildSDKsPath)\NuGet.Build.Tasks.Pack\build\NuGet.Build.Tasks.Pack.targets" />)中导入nuget pack目标,然后dotnet pack或msbuild /t:pack- 这会因为缺少 project.assets.json 文件的错误而失败(我认为这对于使用 packages.config 的项目来说不是问题?)
- 如果我进一步指定
/p:NuspecFile=[path to nuspec],这会让我更进一步,而且事情似乎正常,但是 netstandard 项目依赖项被捆绑为包的一部分
【问题讨论】:
标签: .net .net-core nuget .net-standard