繁体   English   中英

Dotnet安装自定义模板问题

[英]Dotnet Installing Custom Templates Issue

我已经使用以下命令为MS Orleans Grain创建了一个项目模板(.NET Standard 2.0项目):

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

该程序包托管在Nuget.org上,使用.NET控制台应用程序设法使其正常运行,但是此程序包是.NET Standard 2.0类库,当我尝试安装时,出现以下错误消息:

C:\\ Users \\ thiag.templateengine \\ dotnetcli \\ v2.1.403 \\ scratch \\ restore.csproj:错误NU1202:软件包OrleansGrain.NetCore.ProjectTemplate 1.0.2与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容。 软件包OrleansGrain.NetCore.ProjectTemplate 1.0.2支持:netstandard2.0(.NETStandard,Version = v2.0)生成MSBuild文件C:\\ Users \\ thiag.templateengine \\ dotnetcli \\ v2.1.403 \\ scratch \\ obj \\ restore.csproj。 nuget.g.props。 生成MSBuild文件C:\\ Users \\ thiag.templateengine \\ dotnetcli \\ v2.1.403 \\ scratch \\ obj \\ restore.csproj.nuget.g.targets。 对于C:\\ Users \\ thiag.templateengine \\ dotnetcli \\ v2.1.403 \\ scratch \\ restore.csproj,还原在1.73秒内失败。

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

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

需要创建nuspec文件并使用:

nuget pack file.nuspec

然后,将正确生成nupkg,而不是从Visual Studio上的解决方案生成。

实际上,有一种方法可以使它与SDK样式的项目一起使用。

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

这是一个PropertyGroup的示例,该示例将生成适当的dotnet模板包。

  <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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM