3

我有一个以 net462 为目标的 NET 库项目,其中包含一个Microsoft.NET.SDK.FunctionsNuget 包。问题是当我将我的项目打包到 Nuget 库中时,除了没有创建 .nupkg 之外,一切都成功了(清理、恢复、构建、打包)。如果我注释掉相关代码并去掉 Nuget 引用,我打包时会生成一个 nupkg 文件。

我似乎遇到了这个问题:IN GITHUB也许?

有问题的包 - https://www.nuget.org/packages/Microsoft.NET.Sdk.Functions

我的直接问题是 - 这是一个可能的功能吗?你能防止你的包裹被打包进 Nugets 吗?我怎么会知道。或者换句话说,这种情况(GitHub问题中描述的情况)是否可能?可能出了什么问题?谢谢!

4

2 回答 2

1

我刚刚遇到了同样的问题,dotnet pack没有为.csproj使用该包的文件生成Microsoft.Functions.SDK包。

dotnet pack允许您提供MSBuild受尊重的参数,即使它没有出现在他们的文档中,因此您可以nuget通过在命令行上执行以下操作来强制生成包:

dotnet pack --configuration Release -property:IsPackable=true

函数 SDK 中似乎有一些代码我没有花时间去追踪强制该IsPackable标志为 false 的代码,无论.csproj.

如果您将来遇到这些问题,您可以通过将(将详细程度设置为调试)dotnet附加到命令行命令来查看命令的诊断。-v=d

于 2021-09-14T18:56:29.540 回答
0

第一步:打开项目文件夹

第二步:打开cmd

第 5 步:您应该看到一个指向您的项目而不是解决方案目录的 cmd

第 6 步:复制并粘贴流动的命令

    PowerShell -Command "Get-ChildItem $dir | Where { $_.Name -match '.csproj'} | Select -Expand Name | out-file -encoding ASCII projectname"

    SET /p projectname=<projectname

    PowerShell -Command "(Get-Content -path ..\packages\Microsoft.NET.Sdk.Functions.1.0.24\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets -Raw) -replace 'DependsOnTargets="""RunResolvePublishAssemblies"""', '' | Set-Content -Path  ..\packages\Microsoft.NET.Sdk.Functions.1.0.24\build\netstandard1.0\Microsoft.NET.Sdk.Functions.Build.targets"

    SET MSBuild_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin

    SET PATH=%MSBuild_PATH%;%PATH%

    MSbuild %projectname% /t:Clean;Rebuild /p:Configuration=Release

    PowerShell -Command "Get-ChildItem -Path .\bin\Release\bin -Recurse | Copy-Item -Destination .\bin\Release "

    PowerShell -Command "if(!(Test-Path -Path 'nuget.exe')){(new-object System.Net.WebClient).DownloadFile('https://dist.nuget.org/win-x86-commandline/latest/nuget.exe','nuget.exe')}"

    NuGet.exe pack %projectname% -Prop Configuration=Release -MSBuildPath "%MSBuild_PATH%"

    start .

第 7 步:你应该找到你的 nupkg 文件

注意:我使用了 vs 2017 的流动步骤

创建一个新项目

安装 Microsoft.NET.Sdk.Functions

于 2019-01-09T05:41:05.927 回答