How to specify output folder for the referenced nuget packages?(如何为引用的 nuget 包指定输出文件夹?)
问题描述
我有一个项目,其中引用了一些 nuget 包.
I have a project with some nuget packages referenced.
在输出文件夹(binDebug 或 binRelease)中,所有引用的库都位于可执行文件旁边.
In output folders (binDebug or binRelease), all referenced libraries lie next to the executable.
如何指定库的输出文件夹?
我想要 binReleaseLibs 中的所有 nuget 库和 binRelease 中的可执行文件.
How to specify output folder for libraries?
I want all nuget libraries in binReleaseLibs and executable in binRelease.
推荐答案
感谢 zivkan 的 调查我找到了答案.传统项目的目标 CopyFilesToOutputDirectory 取决于 _CopyFilesMarkedCopyLocal 目标.在最后一个我们有任务 Copy:
Grace to the zivkan's investigation I found the answer. Traditional project has target CopyFilesToOutputDirectory which depends on _CopyFilesMarkedCopyLocal target. In this last one we have task Copy:
<Copy
SourceFiles="@(ReferenceCopyLocalPaths)"
DestinationFiles="@(ReferenceCopyLocalPaths->'$(OutDir)%(DestinationSubDirectory)%(Filename)%(Extension)')"
SkipUnchangedFiles="$(SkipCopyUnchangedFiles)"
OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)"
Retries="$(CopyRetryCount)"
RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)"
UseHardlinksIfPossible="$(CreateHardLinksForCopyLocalIfPossible)"
UseSymboliclinksIfPossible="$(CreateSymbolicLinksForCopyLocalIfPossible)"
Condition="'$(UseCommonOutputDirectory)' != 'true'"
>
在这里我找到了元数据 DestinationSubDirectory,这正是我需要更改的.
And here I found metadata DestinationSubDirectory which is exactly what I need to change.
首先,我们需要更改csproj文件并添加以下几行:
First, we need to change csproj file and add these lines:
<ItemDefinitionGroup>
<ReferenceCopyLocalPaths>
<DestinationSubDirectory>lib</DestinationSubDirectory>
</ReferenceCopyLocalPaths>
</ItemDefinitionGroup>
第二,我们需要修改app.config文件让程序集知道库的路径:
Second, we need to change app.config file to let the assembly know the path to the libraries:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="lib;libs" />
</assemblyBinding>
</runtime>
就是这样.所有引用的库将被复制到子文件夹 lib
That's all. All referenced libraries will be copied into subfolder lib
这篇关于如何为引用的 nuget 包指定输出文件夹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何为引用的 nuget 包指定输出文件夹?
基础教程推荐
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
