如何打包一个C#9源生成器并将其上传到Nuget?

哈米德·法蒂

我做了一个C#9源代码生成器,您可以在这里找到

当我在另一个解决方案中使用整个项目并将其作为项目引用时,它可以工作,但是当我使用当前配置将其上载到Nuget(此处)时,它不起作用。

如何正确配置C#9源生成器以用作Nuget包?我的项目有什么问题?

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <Version>0.0.2</Version>
    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
    <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
    <PackageLicenseExpression>MIT</PackageLicenseExpression>
    <PackageTags>dotnet</PackageTags>
    <PublishRepositoryUrl>true</PublishRepositoryUrl>
    <GenerateRepositoryUrlAttribute>true</GenerateRepositoryUrlAttribute>
    <PackBuildOutput>true</PackBuildOutput>
    <PackageId>MockableStaticGenerator</PackageId>
    <PackOnBuild>true</PackOnBuild>
    <PackFolder>analyzers\cs</PackFolder>
    <DebugType>embedded</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>
  <PropertyGroup>
    <RestoreAdditionalProjectSources>https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json ;$(RestoreAdditionalProjectSources)</RestoreAdditionalProjectSources>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="3.8.0" PrivateAssets="all" />
    <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.1">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>
</Project>
耶尔·哈尔伯施塔特

如果解压缩nuget软件包,则会看到该软件包存储在lib目录中。它必须存储在分析器目录中。

一种方法是在csproj中添加以下内容:

<ItemGroup>
  <None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
</ItemGroup>

如果您是多目标,则应为:

<ItemGroup>
  <None Include="$(OutputPath)\netstandard2.0\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
</ItemGroup>

这将把您的项目既作为库又作为分析器。

要将其仅用作分析器,请添加以下内容:

<PropertyGroup>
  <IncludeBuildOutput>false</IncludeBuildOutput>
</PropertyGroup>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

禁用特定的C#9源生成器

来自分类Dev

如何在C#9代码生成器中获取ctor参数的类型?

来自分类Dev

如何创建一个Android库并将其上传到github?

来自分类Dev

如何传递一个空的生成器参数?

来自分类Dev

如何构建一个简单的令牌生成器

来自分类Dev

如何将一个元组的Python生成器拆分为2个单独的生成器?

来自分类Dev

如何在Scalatest中使用forAll仅生成生成器的一个对象?

来自分类Dev

如何定义一个ScalaCheck生成器来生成序列元素的子集?

来自分类Dev

python,生成器迭代一个或多个项目

来自分类Dev

Python生成器返回最后一个项目

来自分类Dev

需要一个简单的线梯度生成器

来自分类Dev

运行查询生成器后,原始变量被修改,同时将其分配给另一个变量

来自分类Dev

如何编写一个简单的“页面错误生成器”?

来自分类Dev

如何为Hibernate中的每个公司创建一个customerNumber生成器

来自分类Dev

在Idris中,如何编写一个带参数索引功能的“ vect生成器”函数

来自分类Dev

如何使生成器提前准备下一个值?

来自分类Dev

如何仅对一个样本运行set.seed()生成器?

来自分类Dev

如何使tensorflow.keras.model.predict()输出一个生成器?

来自分类Dev

如何制作一个随机的按钮背景色生成器?

来自分类Dev

如何编写一个好的生成器链接函数

来自分类Dev

App Generator:如何声明一个变量以在整个生成器中使用?

来自分类Dev

我如何创建只有一个特殊字符的生成器字符串?

来自分类Dev

我想创建一个生成器来生成任意两个输入生成器的交集

来自分类Dev

如何制作一个行生成器表达式来生成这两个不同的列表

来自分类Dev

如何使一个随机数生成器一次只打印4个随机数?

来自分类Dev

如何生成具有样式的PDF并将其上传到服务器(Jquery)

来自分类Dev

如何在AS3内部生成声音文件并将其上传到服务器?

来自分类Dev

如何将图像打包成束并将其传递给另一个活动

来自分类Dev

如何将图像打包成束并将其传递给另一个活动

Related 相关文章

  1. 1

    禁用特定的C#9源生成器

  2. 2

    如何在C#9代码生成器中获取ctor参数的类型?

  3. 3

    如何创建一个Android库并将其上传到github?

  4. 4

    如何传递一个空的生成器参数?

  5. 5

    如何构建一个简单的令牌生成器

  6. 6

    如何将一个元组的Python生成器拆分为2个单独的生成器?

  7. 7

    如何在Scalatest中使用forAll仅生成生成器的一个对象?

  8. 8

    如何定义一个ScalaCheck生成器来生成序列元素的子集?

  9. 9

    python,生成器迭代一个或多个项目

  10. 10

    Python生成器返回最后一个项目

  11. 11

    需要一个简单的线梯度生成器

  12. 12

    运行查询生成器后,原始变量被修改,同时将其分配给另一个变量

  13. 13

    如何编写一个简单的“页面错误生成器”?

  14. 14

    如何为Hibernate中的每个公司创建一个customerNumber生成器

  15. 15

    在Idris中,如何编写一个带参数索引功能的“ vect生成器”函数

  16. 16

    如何使生成器提前准备下一个值?

  17. 17

    如何仅对一个样本运行set.seed()生成器?

  18. 18

    如何使tensorflow.keras.model.predict()输出一个生成器?

  19. 19

    如何制作一个随机的按钮背景色生成器?

  20. 20

    如何编写一个好的生成器链接函数

  21. 21

    App Generator:如何声明一个变量以在整个生成器中使用?

  22. 22

    我如何创建只有一个特殊字符的生成器字符串?

  23. 23

    我想创建一个生成器来生成任意两个输入生成器的交集

  24. 24

    如何制作一个行生成器表达式来生成这两个不同的列表

  25. 25

    如何使一个随机数生成器一次只打印4个随机数?

  26. 26

    如何生成具有样式的PDF并将其上传到服务器(Jquery)

  27. 27

    如何在AS3内部生成声音文件并将其上传到服务器?

  28. 28

    如何将图像打包成束并将其传递给另一个活动

  29. 29

    如何将图像打包成束并将其传递给另一个活动

热门标签

归档