标签: dotnet-core-pack

如何使用dotnet test命令发布结果

我有一个用dotnet核心编写的测试项目.这需要以xml或html格式发布结果.有没有办法可以使用相同的命令将结果发布到特定目录? - result-directory对我不起作用

command-line-arguments .net-core dotnet-core-pack

11
推荐指数
4
解决办法
1万
查看次数

dotnet core nuget 包在还原时复制内容文件

所以我觉得我已经走到了绳索的尽头,但希望有人比我在这里知道的更多。我有一些Typescript文件,尽管这几乎无关紧要,因为我的所有内容文件都存在此问题。

通过在我的项目中使用它,我能够生成一个nuget或更准确的dotnet packnuget 包,其中包含我的内容文件:.csprojparent

<ItemGroup>
  <Content Include="Scripts\Utility.ts">
    <Pack>true</Pack>
    <PackagePath>contentFiles\Scripts\;content\Scripts</PackagePath>
  </Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我可以浏览生成.nupkg的文件,并看到该文件确实已添加到包中的content\ScriptscontentFiles\Scripts位置

问题是,每当我在我的“子”项目中使用这个包时,它Typescript永远不会被复制到child项目的任何文件夹中,尽管我可以看到它在.nuget\packages\parent\...文件夹中被提取出来。

起初我认为这是我在parent项目中的初始设置的问题,它可能是,但是在尝试了本书中的所有内容后,无法将内容文件复制到child项目中。然后我尝试去尝试Init.ps1tools我的包的文件夹中尝试使用的黑暗路径,虽然无法调试,但它似乎也偶尔运行(我完全卸载并重新安装了包,但它仍然无法运行大部分时间.) 这可能是方式,但我不知道为什么我不能把它输出到Package Manager Console......也许还有希望,Init.ps1但我似乎无法弄清楚。最后,我看到了nuget文件的一些潜力.targets但我似乎也能掌握如何将它用于我的目的!我希望得到一些关于如何完成这项工作的反馈。

nuget .net-core dotnet-core-pack

7
推荐指数
2
解决办法
5848
查看次数

dotnet 将多个项目打包到一个包中

我有一个构建管道,它在单个解决方案中构建多个库文件。在 YML 文件中,我有以下任务来打包 dll;

- task: DotNetCoreCLI@2
  displayName: 'Create nuget packages'
  inputs:
    command: 'pack'
    packagesToPack: 'Framework/**/*.csproj;!**/*.Test.csproj'
    packDirectory: '$(Build.ArtifactStagingDirectory)/packages/nuget'
    nobuild: true
    versioningScheme: 'byBuildNumber'
Run Code Online (Sandbox Code Playgroud)

这会将我的所有库文件创建为单独的nupkg文件。我希望它们位于一个 nupkg 文件中。

这可以使用吗dotnet pack

nuget-package dotnet-core-pack

6
推荐指数
1
解决办法
1238
查看次数

使用 dotnet pack 将变量传递给 nuspec

使用 dotnet pack 时,如何将变量传递给我的 nuspec 文件?

我正在尝试通过版本。这是nuspec:

<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <!-- Required elements-->
        <id>1</id>
        <version>$PackageVersion$</version>
        <description>1</description>
        <authors>1</authors>
    </metadata>
</package>
Run Code Online (Sandbox Code Playgroud)

这是我的命令:

dotnet.exe 包 /p:NuspecFile=./App.Nuspec /p:PackageVersion=9.7.28170

我收到错误: 值不能为空或空字符串。

有趣的是,如果我将变量更改为描述:

<version>1.1.0</version>
<description>$PackageVersion$</description>
Run Code Online (Sandbox Code Playgroud)

我收到错误:需要描述。

当标签是描述时,标签名称在错误消息中。但是,当标签是 version 时,错误消息中没有标签名称 - 只有术语值。两者都是必填字段。

我在本地机器上使用命令行执行此操作,但 TFS 构建给出了相同的错误。这是该步骤的附加构建属性的 TFS 工具提示。 指定以分号分隔的令牌 = 值对列表,其中 .nuspec 文件中每次出现的 $token$ 都将替换为给定的值。值可以是引号中的字符串。

听起来我正在遵守这些规则。这是 TFS 生成的内容:

"C:\Program Files\dotnet\dotnet.exe" 包 D:\Agent_work\5\s\MyProject\MyProject.csproj --output D:\Agent_work\5\a /p:NuspecFile=App.nuspec /p: PackageVersion=9.7.28170 --verbosity 正常

和我的命令一样。

我究竟做错了什么?

tfsbuild nuspec dotnet-core-pack

3
推荐指数
1
解决办法
2167
查看次数

与 log4net 相比,使用 Nlog 的性能较低

我们最近将 ASP.NET Core Web API 项目的日志记录框架从 log4net 更新为 NLog,当我们进行性能测试时,与 NLog 相比,NLog 的请求/秒速服务要少得多。下面是我的 NLog 配置文件。

请就使用 NLog 的性能问题提出任何想法。

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true"
      internalLogLevel="info"
      internalLogFile="C:\temp\internal-nlog.txt">

  <!-- enable asp.net core layout renderers -->
  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
    <add assembly="SumoLogic.Logging.NLog"/>
  </extensions>

  <!-- the targets to write to -->
  <targets>
    <!-- write logs to console -->
    <target xsi:type="ColoredConsole" name="allConsole" formatMessage="false" layout="${longdate}|${level:uppercase=true}|${message}" />

    <target name="sumoLogic" type="SumoLogicTarget" formatMessage="false" layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff} ${level}, ${message}${exception:format=tostring}${newline}">
      <Url>#{Logging__SumoLogic__EndpointUrl}</Url>
      <ConnectionTimeout>30000</ConnectionTimeout>
      <SourceName>#{Logging__SumoLogic__SourceName}</SourceName>
      <SourceCategory>#{Logging__SumoLogic__SourceCategory}</SourceCategory>
      <UseConsoleLog>true</UseConsoleLog>
    </target>

    <target name="bufferedSumoLogic" type="BufferedSumoLogicTarget" formatMessage="false" layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff} …
Run Code Online (Sandbox Code Playgroud)

log4net nlog .net-core dotnet-core-pack

3
推荐指数
1
解决办法
3421
查看次数

将 Nuget 内容文件包含到在 .net Core 项目上发布的目标项目

在开始之前,我必须声明我对这个 nuget 包还很陌生,所以先来了解一下我的基础知识。

我的应用程序有一个核心项目来携带一些 .dll 和 .sql 文件以及一个 api 项目。我已经将核心项目制作为带有dotnet pack 的nuget 包,并在 github 操作上将其自动化,因此它在所有prs上创建了一个新版本并将其推送到我的私人 nuget 服务器,直到这里一切都很好。

当我将这个核心包安装到我的api项目中时,也没有问题。它安装成功,我的 sql 文件按照我的预期显示在目标项目上(但作为链接源)。

sql 文件链接源

但是当我尝试使用 dotnet pack 发布此项目时,.sql 文件不会复制到输出文件夹。我查看了文件的属性,发现它们的复制到输出目录属性已重置为不复制,并且文件路径是绝对的。

在此输入图像描述

我的目标是使用 github 操作构建和部署此 api,因此绝对路径是不可接受的,此外我不想在目标项目中手动安排某些内容。

我正在用 dotnet pack 打包核心项目,但我没有

  • .nu​​spec 文件
  • 包配置 xml
  • nuget配置
  • 包元数据

或其他类似的东西,我不知道如何使用它们。

我尝试添加到 csproj 文件<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies><RestoreProjectStyle>PackageReference</RestoreProjectStyle>其他内容,但它们不起作用。

我尝试添加到 csproj 文件 在此输入图像描述 它也不起作用。

谁能帮我?

csproj visual-studio nuget .net-core dotnet-core-pack

0
推荐指数
1
解决办法
1449
查看次数