首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Nuget再现VS2017包管理器命令"Update-Package -reinstall“

如何使用Nuget再现VS2017包管理器命令"Update-Package -reinstall“
EN

Stack Overflow用户
提问于 2018-07-18 22:32:18
回答 1查看 376关注 0票数 2

我尝试过Nuget Update,Nuget还原,但它们实际上并不相同,原因如下:

我创建了一个Nuget pkg,只是为了分发一个可执行文件。当我安装Nuget时,可执行文件被添加到我的项目中,这样我就可以引用它并在我的应用程序中运行它。

现在,我不希望每个开发人员都必须安装Nuget才能在他们的项目中拥有可执行文件,但我只是希望在构建项目时添加.exe。当然,配置文件中对包的引用是存在的。

如果我运行Update-Package -Id -reinstall(使用VS的packages ),一个带有.exe的文件夹将被添加到项目根目录中,但是如果我运行nuget updatenuget restore (使用nuget ),它只会将.exe重新添加到packages文件夹中。

我需要运行nuget的原因是,我使用的是TeamCity,我想在自动构建运行时添加.exe。

我希望这是合理的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-19 07:37:39

如何使用Nuget再现VS2017包管理器命令“Update- Package -reinstall”

恐怕你不能用NuGet做这种事。这是因为NuGet CLI不修改项目文件或packages.config。当我们修改项目文件时,我们需要通过中的NuGet API来完成,但是只有包管理器控制台才能提供对visual studio对象的访问:

https://github.com/NuGet/Home/issues/1512

这就是为什么我说最简单的方法是在Update-Package -Id -reinstall中使用命令行前螺纹的原因。然后,我还给出了从根本原因解决此问题的另一种方法,使用.targets文件将可执行文件复制到项目根目录,请检查我的更新答案。

当然,要解决这个问题还有一个简单的想法,只需在项目中添加一个预构建事件,将可执行文件复制到项目根:

代码语言:javascript
复制
xcopy  /Y "$(SolutionDir)packages\MyToolPackage.1.0.0\Tools\wkhtmltopdf.exe" "$(ProjectDir)"

希望这能有所帮助。

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

https://stackoverflow.com/questions/51411881

复制
相关文章

相似问题

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