AFe*_*ter 14 visual-studio nuget
我在VS2013上安装了NuGet.Tools.2013.vsix.我喜欢从Manager Console创建一个nuget包,但是当我尝试时,我得到一个menagem:
术语"nuget"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.
我不知道我做错了什么.
可以使用管理器控制台创建包,或者我需要使用其他东西.
小智 8
我不确定是否完全理解这个问题,但是如果您在Visual Studio中使用Package Manager控制台,那么您不需要在该窗口中使用nuget启动命令.我通常使用程序包管理器控制台来安装/更新当前解决方案的程序包.例如:
Install-Package Nunit
Run Code Online (Sandbox Code Playgroud)
通常,您可以通过从正常的Windows命令行调用nuget来创建包,例如:
nuget pack Library.csproj
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package.
NuGet包管理器控制台不公开任何命令来从Visual Studio中创建NuGet包.你也不能使用nuget.exe命令,因为你不是在启用PowerShell的控制台中与NuGet命令行交谈(除非你通过创建NuGet PowerShell配置文件来了解位于磁盘上的nuget.exe)例如别名).
但是,如果要在Visual Studio(包括IntelliSense)中创建NuSpec文件,我会创建一个NuGet包供您安装.有关我博客的更多信息:http://www.xavierdecoster.com/install-nuspec-with-intellisense
这使您可以更轻松地创建NuGet清单文件,但是这仍然不会创建实际的包.为此,您必须回退到nuget.exe命令行工具,您可以从https://nuget.org/nuget.exe下载该工具.可以在NuGet Docs站点上找到文档.
确保您nuget.exe在 的某处%PATH%。
注意:我们使用 Jenkins 并需要EnvInject来获取构建过程中可用的 %PATH% 变量。
编辑.csproj文件以包含程序集版本号的新宏变量,请参阅在构建后事件期间确定程序集版本?
<Target Name="PostBuildMacros">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="Targets" />
</GetAssemblyIdentity>
<ItemGroup>
<VersionNumber Include="@(Targets->'%(Version)')"/>
</ItemGroup>
</Target>
<PropertyGroup>
<PostBuildEventDependsOn>
$(PostBuildEventDependsOn);
PostBuildMacros;
</PostBuildEventDependsOn>
<PostBuildEvent>echo HELLO, THE ASSEMBLY VERSION IS: @(VersionNumber)</PostBuildEvent>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
.nupkg每当程序集版本发生更改并且需要新版本时,请使用以下构建后脚本部署新包;
IF "$(ConfigurationName)" == "Release" (
CD /D $(ProjectDir)
IF EXIST $(TargetName).@(VersionNumber).nupkg EXIT
nuget pack $(ProjectPath) -Properties Configuration=$(ConfigurationName)
nuget push $(TargetName).@(VersionNumber).nupkg -s http://mynugetserver
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22145 次 |
| 最近记录: |