首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何引用从MSBuild生成的“`dnu”包?

如何引用从MSBuild生成的“`dnu”包?
EN

Stack Overflow用户
提问于 2016-02-17 21:33:57
回答 1查看 174关注 0票数 0

编辑:对于那些有兴趣获得一个repro的人来说,这个项目可以在GitHub上获得这里。只需git clone源代码,cd进入目录并运行MSBuild,并且(假设您已经安装了DNU ),您就应该命中错误。

原始邮政

我正试图为我即将到来的库构建一个基于.NET核心的“现代PCL”。我在引用dnu restore从我的项目中生成的包时遇到了问题。下面是我的csproj文件的相关部分:

代码语言:javascript
复制
<!-- Before building, use dnu to restore packages -->
<Target Name="BeforeBuild">
  <PropertyGroup>
    <ProjectJson>some\dir\project.json</ProjectJson>
    <DnuRestore>dnu restore</DnuRestore>
    <PackagesDirectory>packages</PackagesDirectory>
  </PropertyGroup>
  <Exec Command="$(DnuRestore) $(ProjectJson) --packages $(PackagesDirectory)" />
</Target>

当我通过msbuild从命令行构建项目时,包恢复似乎有效,但是当我构建项目时,它们实际上并没有被引用。例如,下面是是一个GitHub gist,显示项目上MSBuild的输出。

正如您可以从日志中看到的那样,依赖项中的类型没有被编译器捕获,而且我得到了一堆‘类型未找到’的错误。我该怎么解决这个问题?

供参考,下面是 my project.json

代码语言:javascript
复制
{
    "dependencies": {
        "Shims.Xaml": "1.8.0"
    },

    "frameworks": {
        "net45": { }
    }
}

TL;DR:,我从MSBuild管理dnu restore --packages blah。如何在编译库时引用下载的NuGet包?

任何帮助都将不胜感激。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-17 23:29:23

我通过简单地使用通配符glob来包含所有程序集来做到这一点:

代码语言:javascript
复制
<ItemGroup>
    <Reference Include="packages\**\*.dll" />
</ItemGroup>

很有魅力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35468223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档