【问题标题】:How do you create a NuGet package from a .NET Core MSBuild project in Visual Studio 2017 RC?如何在 Visual Studio 2017 RC 中从 .NET Core MSBuild 项目创建 NuGet 包?
【发布时间】:2017-04-01 09:49:50
【问题描述】:

现在我们已经从project.json 正式迁移回.csproj,您如何实际生成 NuGet 包输出?

我不知道是不是只有我,但我发现很难理解official documentation pages。唯一提到的是从命令行调用msbuild,但这对我来说并不适用,而且我更希望您可以直接在.csproj 文件本身中指定此步骤。

非常感谢您提供如何使用.csproj 文件执行此操作的完整示例。

更新: 终于让 MSBuild 通过从命令行运行它来输出包。诀窍是用文档页面中描述的所有包元数据填写PropertyGroup。但是,我仍然更愿意将 pack 作为正常构建过程的一部分运行。

更新:找到了更好的资源来理解.NET Blog page 中的新.csproj 格式。

【问题讨论】:

  • 您应该将它们作为答案发布并接受它。

标签: visual-studio msbuild nuget .net-core


【解决方案1】:

我正在使用以下步骤在 Visual Studio 2017 RC 中使用 MSBuild 打包 .NET Core NuGet 包

  1. 安装 Visual Studio 2017.NET Core 和 Docker(预览版) 组件。
  2. 通过New -> Project -> C# -> .NET Core -> Console App (.NET Core)创建如下包信息。
  3. 右击.NET Core项目选择Edit ProjectName.csproj选项,在Visual中打开.csproj文件工作室 2017 年
  4. PropertyGroup 节点下保存一个包含以下包信息的文件:

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>netcoreapp1.0</TargetFramework>
        <PackageId>TestNetCorePackage</PackageId>
        <PackageVersion>1.0.0</PackageVersion>
        <Authors>Weiwei</Authors>
        <Description>Test .NET Core package</Description>            <PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
        <PackageReleaseNotes>First release</PackageReleaseNotes>
        <Copyright>Copyright 2016 (c) Contoso Corporation. All rights reserved.</Copyright>
        <PackageTags>Net Core</PackageTags>
    </PropertyGroup>
    
  5. 打开 VS 2017 RC 的开发者命令提示符并输入 cd *your project file path* 命令导航到您的项目文件路径。

  6. 键入msbuild ProjectName.csproj /t:pack,这是打包.NET Core 包的命令。它将在您的项目路径中的 bin\debug 文件夹中生成。

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-03
    相关资源
    最近更新 更多