我有一个应用程序,它使用未管理的库
我们想从团队服务私人包源获取
为此,我正在创建一个 NuGet 包,具体如下:
我使用
注意:这个问题是从这个Stack Overflow问题衍生出来的 - 接受答案的用户说一切都应该正常工作,但我仍然遇到这个问题。
就我所看到的,我完全按照他的指示操作了...
libtidy.dll
。在我们的代码中,我们使用包装器 TidyManaged
来使用它。我们想从团队服务私人包源获取
libtidy
并将其放置在 bin
目录中。为此,我正在创建一个 NuGet 包,具体如下:
- 创建一个名为
libtidy-managed
的目录 - 将
libtidy.dll
和TidyManaged.dll
两个文件放入新目录中 - 从该目录运行
nuget spec
,并使用以下文件
Package.nuspec:
<?xml version="1.0"?>
<package >
<metadata>
<id>libtidy-tidymanaged</id>
<version>1.0.0</version>
<authors>Name</authors>
<owners>Name</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Libtidy TidyManaged</description>
<releaseNotes>Libtidy TidyManaged</releaseNotes>
<copyright>Copyright 2016</copyright>
<tags>Libtidy TidyManaged</tags>
</metadata>
<files>
<file src="libtidy.dll" target="content" />
<file src="TidyManaged.dll" target="lib" />
<file src="Install.ps1" target="tools" />
</files>
</package>
Install.ps1
param($installPath, $toolsPath, $package, $project)
$file = $project.ProjectItems.Item("libtidy.dll");
If ($file -eq $null)
{
$project.ProjectItems.AddFromFile("libtidy.dll");
$file = $project.ProjectItems.Item("libtidy.dll");
}
$file.Properties.Item("CopyToOutputDirectory").Value = [int]1;
我使用
nuget pack
创建包并在本地nuget feed中引用新包。
当我构建解决方案时,
libtidy.dll
被放置在根目录而不是bin目录
- 在构建后查看位于根目录的
libtidy
属性时,复制到输出目录
设置为始终复制
- 在项目属性下的
构建
选项卡下,输出路径
设置为bin\
注意:这个问题是从这个Stack Overflow问题衍生出来的 - 接受答案的用户说一切都应该正常工作,但我仍然遇到这个问题。
就我所看到的,我完全按照他的指示操作了...
libtidy
现在在bin目录中,正如预期的那样。您能否建议如何使用PowerShell脚本从根目录中删除libtidy
?(我从未真正使用过PowerShell) - Vinyl Warmth