visual-studio - 如何在 Visual Studio 2017 RC 中从 .NET Core MSBuild 项目创建 NuGet 包?

标签 visual-studio msbuild nuget .net-core

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

我不知道是不是只有我一个人,但我发现很难理解 official documentation pages .唯一提到的是打电话msbuild从命令行,但它对我来说并不是真正的工作,而且我更希望你可以直接在 .csproj 中指定这一步文件本身。

如何使用 .csproj 执行此操作的完整示例文件将不胜感激。

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

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

最佳答案

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

  1. 使用 .NET Core 和 Docker(预览版) 组件安装 Visual Studio 2017
  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 *您的项目文件路径*命令以导航到您的项目文件路径。

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

关于visual-studio - 如何在 Visual Studio 2017 RC 中从 .NET Core MSBuild 项目创建 NuGet 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40661918/

相关文章:

asp.net - NuGet 包还原不会为 asp.net 网站安装包

visual-studio - 如何更改 "devenv"命令位置?

visual-studio - 运行时 fatal error - 可能是 CLR 错误

c# - 如何将 "bin"和 "obj"目录重定向到不同的位置?

visual-studio-2010 - 单击一次发布 VS 2012 停止的其他文件

scripting - 使用 .NetCore RC2 自动化 Nuget 包推送

c# - 微软视觉 C# : Eclipse-style autocomplete for interface methods

c# - 资源文件无效

c++ - 当依赖库之一无法编译时,如何防止 Visual Studio 构建我的整个解决方案?

.net-core - 使用 dotnet CLI 显示过时的 nuget 包