[英]Execute powershell scripts through nuget command line
我做了一个本机包,其中包括本机DLL。 该包就像SqlServerCompact.4.0.8852.1.nupkg 。
当我通过“ Manage Nuget Packages ...”通过GUI安装软件包时,一切都很好,本机DLL被复制到Debug / Release文件夹中。 复制本机Dll是通过类似于SqlSerCompact中的脚本完成的。
我有以下.bat
文件来自动化MyProject
的打包程序:
..\..\tools\nuget\bin\NuGet.exe install MyProject\packages.config -o packages\
..\..\tools\nuget\bin\NuGet.exe install MyProjectTest\packages.config -o packages\
..\..\tools\nuget\bin\nuget update MyProject.sln
msbuild /m /p:Configuration=Release /p:Platform="x64" MyProject.sln
..\..\tools\nuget\bin\nuget pack MyProject.nuspec
上面的脚本运行完美,以获取MyProject.nupkg
(编译只需要.Net dlls)。 但是nuget install
不会在依赖项程序包中执行复制脚本-因此编译MyProjectTest
很好,但是在执行其EXE时,其Debug / Release文件夹中没有本地DLL。
我的问题是为什么从命令行安装软件包时不执行powershell脚本? 以及如何处理呢? 谢谢!
NuGet.exe不支持它。 有关此问题的代码复合体有一个讨论,并且在问题跟踪系统中提出了一些已经关闭的问题。 David Ebbo也有一篇博客文章,介绍了支持此功能的问题。
普遍的问题是,在PowerShell脚本中,您可以使用Visual Studio对象模型,以便能够从Visual Studio外部公开它并支持所有方案都是不平凡的。
我看到支持从Visual Studio外部运行PowerShell脚本,使用SharpDevelop作为实验来查看可能的内容。 这是一个非常重要的解决方案,因为它需要SharpDevelop才能工作,而不仅仅是NuGet.exe。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.