代码之家  ›  专栏  ›  技术社区  ›  Thiago Loureiro

Dotnet安装自定义模板问题

  •  0
  • Thiago Loureiro  · 技术社区  · 7 年前

    要使用此命令安装,请执行以下操作:

    dotnet new -i OrleansGrain.NetCore.ProjectTemplate::*
    

    该软件包托管在Nuget.org上,我设法使用.NET控制台应用程序使其正常工作,但该软件包是.NET标准2.0类库,当我尝试安装时,收到以下错误消息:

    C:\Users\thiag.templateengine\dotnetcli\v2.1.403\scratch\restore.csproj 与netcoreapp1.0不兼容(.NETCoreApp,版本=v1.0)。包裹 OrleansGrain.NetCore.ProjectTemplate 1.0.2支持:netstandard2.0 C:\Users\thiag.templateengine\dotnetcli\v2.1.403\scratch\obj\restore.csproj.nuget.g.props。 C:\Users\thiag.templateengine\dotnetcli\v2.1.403\scratch\obj\restore.csproj.nuget.g.targets。 的还原在1.73秒内失败 C:\Users\thiag.templateengine\dotnetcli\v2.1.403\scratch\restore.csproj。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Thiago Loureiro    7 年前

    发现了这个问题,当为项目模板创建Nuget包时,我们应该使用Nuget命令行。

    https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack

    需要创建nuspec文件并使用:

    nuget pack file.nuspec
    

        2
  •  0
  •   snickler    7 年前

    实际上,有一种方法可以在SDK风格的项目中实现这一点。

    通过 https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#suppress-dependencies SuppressDependenciesWhenPacking 属性并将其设置为 true 在.csproj文件中,将跳过添加 <dependencies> 节点到生成的.nuspec文件。

      <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp2.2</TargetFramework>
        <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
        <Description>SDK Style Test Template</Description>
        <PackageType>Template</PackageType>
        <PackageId>SDKStyle.DotNetTemplate.Test</PackageId>
        <Product>SDKStyle.DotNetTemplate.Test</Product>
        <Version>1.0</Version>
        <Authors>SDKStyle.DotNetTemplate.Test</Authors>
        <Company>SDKStyle.DotNetTemplate.Test</Company>
        <SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking>
      </PropertyGroup>