【问题标题】:Build Class Library (Package) NuGet Package Projects Without Visual Studio在没有 Visual Studio 的情况下构建类库(包)NuGet 包项目
【发布时间】:2016-02-06 16:11:34
【问题描述】:

在没有安装 Visual Studio 的情况下使用 MSBUILD 构建新的“类库(包)”(.xproj)项目(也由 ASP.NET 5 使用)需要做什么?我目前收到以下错误:

C:\Source\MyProject.xproj(7,3): 错误 MSB4019: 导入的项目 "C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\v11.0\DNX\Microsoft.DNX.Props" 没有找到。确认声明中的路径是 正确,并且该文件存在于磁盘上。

我只针对 .NET 4.5.2,我已经安装了 Microsoft Build Tools 2015,并希望在我的构建服务器上执行此操作。

更新

看来我可以通过dnu publish 来实现这一点,但这仅适用于单个 .xproj 项目。如果我想在我的构建环境的解决方案中发布多个项目怎么办?单独添加项目不是很方便。

执行MSBUILD MySolution.sln 将对标准类库执行此操作。有没有办法让MSBUILD MySolution.sln 为这种情况工作?

【问题讨论】:

  • 当我设置一个新的构建服务器时,我创建的文档中通常有一些“手动复制/部署文件”。缺少目标是主要目标。我只需手动复制该文件并将其放在它要查找的位置。 Sql 目标通常也在这个列表中。但我同意,应该有一种方法可以在不安装 VS 的情况下获得这些。

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


【解决方案1】:

为什么需要 msbuild?

您只需要dnvm,因此您可以获得dnx。之后,您可以运行dnu pack 并生成包。

【讨论】:

  • 我正在执行MSBuild MySolution.sln。如果我安装 DNVM,这会起作用还是我需要明确使用dnu pack
【解决方案2】:

尝试使用 dnu 构建。 (VS2015 也使用这个)所有 aspnet repro 都可以在没有 VS2015 的情况下使用 build.cmd 构建。

例如,请参阅asp livedatatables

【讨论】:

    【解决方案3】:

    您可以使用dnu pack 创建一个 nuget 包。输入dnu pack --help了解更多信息

    【讨论】:

    • 我正在执行MSBuild MySolution.sln。如果我安装 DNVM,这会起作用还是我需要明确使用dnu pack
    【解决方案4】:

    检查dnvm list 以确保您打算构建的版本与您的项目目标相匹配。如果没有,请使用dnvm use 设置它或使用dnvm install 安装它。

    然后cd /your/solution/direcotry 和;

    dnu restore
    dnu build *
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 2018-12-25
      相关资源
      最近更新 更多