当我安装我的自定义NuGet包时,它可以正常工作,但是VS中的输出窗口会显示消息,例如它试图将文件添加两次并且它们已经存在。这篇文章中的产出进一步下降。
我在服务器上有一个NuGet私有存储库,用于托管我们的库。安装和卸载正在运行,即使输出窗口显示以下消息。我对spec文件中的<files>
标记感到好奇,如果有不同的方法我需要这样做。我已经尝试了多种基于文档的方法。我的版本是从NuGet网站安装的最新版本。
来自网站:The latest version of the nuget.exe command-line tool is always available from http://nuget.org/nuget.exe
Specifying files to include in the package
输出窗口在安装包CustomNuGet 上显示如下内容:
项目/Plugins/CustomNuGet/CSS/custom.css已经存在。
项目/Plugins/CustomNuGet/Scripts/custom.js已经存在。
项目/Plugins/CustomNuGet/Views/custom.cshtml已经存在。
输出窗口在卸载程序包CustomNuGet 上显示如下内容:
在您的工作区中找不到/Plugins/CustomNuGet/CSS/custom.css项。
在您的工作区中找不到/Plugins/CustomNuGet/Scripts/custom.js项。
在您的工作区中找不到/Plugins/CustomNuGet/Views/custom.cshtml项目。
我使用命令行工具创建了一个自定义Nuget包。该文件夹如下所示:
/CustomNuGet
CustomNuGet.nuspec
CustomNuGet.0.1.1.nupkg
/content
/lib
CustomNuGet.dll
/Plugins
/Views
custom.cshtml
/Scripts
custom.js
/CSS
custom.css
spec文件是使用:nuget spec
创建的,并且根据文档在根CustomeNuGet文件夹中创建了包nuget pack
。这是spec文件:
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>CustomNuGet</id>
<version>0.1.1</version>
<authors>CustomNuGet</authors>
<owners>CustomNuGet</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>CustomNuGet</description>
<tags>CustomNuGet</tags>
<references>
<reference file="CustomNuGet.dll" />
</references>
<dependencies>
<dependency id="WebActivatorEx" version="2.0.0" />
</dependencies>
</metadata>
<files>
<file src="content\lib\CustomNuGet.dll" target="lib"/>
<file src="content\Plugins\**" target="content\Plugins" />
</files>
</package>
我没有看到关于这个问题的任何帖子,所以希望其他人发生这种情况,这只是我错过的一个设置。
答案 0 :(得分:1)
如果您手动删除.dll引用而不是使用uninstall-package通过控制台删除它,则会发生这种情况。检查packages.config文件,您尝试安装的软件包可能仍然列在那里。您必须从该配置文件中删除它并保存更改。在你这样做之后,再次尝试安装包,它应该可以工作。