我正在使用Nuget来安装软件包,因为我必须在我的csproj
文件中生成引用和程序集的路径。
我想用你在第一次安装软件包时运行的Init.ps1
文件来做这件事。
我要添加的元素是Reference
元素。
应该像
<Reference Include="Library.MyLib.Imaging, Version=255.255.255.255, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\SDK.0.9.2\lib\wp8\X86\Library.mylib.Imaging.winmd</HintPath>
</Reference>
有些人可以指导我如何将这些添加到csproj文件中。我相信可以使用AddItem
类
Project
方法
感谢
答案 0 :(得分:1)
请注意您对init.ps1
的错误假设:每次初始化软件包时(或每次加载解决方案时)都会运行PowerShell脚本 ,这可能不是您的意思想要在这种情况下。您必须使用install.ps1
代替,仅在安装软件包时运行一次。
更改耗材项目文件的主要问题是您必须以某种方式知道文件名。注入PowerShell脚本的参数如下:
param($ installPath,$ toolsPath,$ package,$ project)
我有类似的要求和我所做的,而不是在软件包安装过程中自动执行:我在软件包管理器控制台中公开了一个cmdlet供消费者使用。 您可以在GitHub上找到我在NuSpec程序包中实现的示例:https://github.com/myget/NuGetPackages/blob/master/NuSpec/tools/NuSpec.psm1
也许这会帮助你开始。如果你有一个合适的解决方案,在包安装过程中完全自动化,请随时在这里分享(或发送一个拉请求: - ))。