我在H:\demo
驱动器上创建了一个C#项目。我创造了一个nuget packege。
我将其推送到H:\nuget_repository
但现在当我将此包添加为任何项目的引用时,参考源目标设置为" H:\demo\packages\app.1.0.0\lib\net45\app.dll
"
但是dll应该移动到我的项目bin目录。
<package >
<metadata>
<id>app</id>
<version>1.0.0.1</version>
<title>AppDemo</title>
<authors>ok</authors>
<owners>ok</owners>
<licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl>
<projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl>
<iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>app</description>
<releaseNotes>Summary of changes made in this release of the package.</releaseNotes>
<copyright>Copyright 2017</copyright>
<tags>app Repository</tags>
</metadata>
<files>
<file src="bin\Debug\app.dll" target="lib"></file>
</files>
</package>
答案 0 :(得分:1)
但是dll应该移动到我的项目bin目录
不,为什么?
您从包裹Feed中获取包裹。在这种情况下,此Feed在本地计算机上是无关紧要的,因为NuGet将提要视为瞬态:它将包复制到本地缓存中。
从那里,包被复制到项目本地缓存(..\packages\$packageName
),然后NuGet将对该目录中程序集的引用添加到项目中。
然后,在构建项目时,引用的程序集将从程序包目录复制到输出目录(bin
)。