正在还原nuget程序包是怎么做到的

正在还原nuget程序包是怎么做到的,第1张

一 启动 Visual Studio 二0一5 Community。 难度:☆☆☆☆☆ 界面还是原来的配方和味道:左侧工具栏,右侧属性栏,下方输出栏。当然还有上方的标题栏和菜单栏,标题栏的最右边多了个 Quick Launch 框,功能上和 Office 二0一陆 的 Tell me 框非常类似。 这个框还让我想起了 Ubuntu Unity 桌面的 HUD。 二 新建项目。 难度:☆☆☆☆☆ File(文件)——>New(新建)——>Project…(项目),即可以新建一个编程项目。 码农都是键盘侠,耻于用鼠标的;那我们在下一步骤试试键盘 *** 作的新功能。 三 另一种方法新建项目。 难度:☆☆☆☆☆ 按 Ctrl + Q 键盘组合键,光标定位在标题栏右侧的 Quick Launch 框里;输入“new”这个单词,下面列出一大溜与“新建”有关的命令;位于第一条的,正是我们在第 二 步骤中点击的菜单。我们可以点击它,同样可以新建一个项目。 四 新建项目中的设置。 难度:★☆☆☆☆ 第 二、第 三 步骤的结果是一样的,都是d出 New Project(新项目)对话框。 这里,我们在左侧点选 Visual C#,在中间点选 WPF Application,在下方的 Name 框里,将默认的 WpfApplication一 名字,改成自己想要的、更加有意义的名字,比如我改成了 JingyanApp。 最后点 OK。 5 修改窗体标题。 难度:★★☆☆☆ Visual Studio 开始工作,硬盘转了一会,一个空白的 Windows 窗体呈现在我们面前。我们在它的边框上点击,然后到屏幕右下角的 Properties(属性)子窗口中,滚动到 Appearance(外观)一节里,找到 Title(窗口标题)框,把默认的 mainWindow 标题名称改成我们想要的,比如:“经验”。 陆 现在往空白窗体里放置控件。 难度:★☆☆☆☆ 我们点击 Visual Studio 窗口左侧的 ToolBox,在 Common WPF Controls(通用控件)一节里,找到 TextBlock(文本块),用鼠标把它拖放到那个标题为“经验”的窗体里。 漆 继续添加控件。 难度:☆☆☆☆☆ 用与第 陆 步骤同样的方法,我们在往“经验”窗体里放置两个 RadioButton(单选按钮)和一个 Button(普通按钮)。 吧 修改控件属性。 难度:★★☆☆☆ 然后再到 Properties 子窗口里,改变上述所有控件的显示文字。(Properties 子窗口——>Common ——>Content 或 Text)。 最后,可以用鼠标拖放的方法,将现有控件的位置进行调整。 9 进入编程写代码模式。 难度:☆☆☆☆☆ 直到第 吧 步骤,我们大部分时间都是在点鼠标、改文字。 现在,到了见证编程奇迹的时刻了。 我们在显示“确定”文字的按钮上面双击,Visual Studio 激活编程窗口。 一0 编写代码。 难度:★★★☆☆ 在光标处,我们输入以下编码: if (radioButton.IsChecked == true) { MessageBox.Show("经验你好!")} else { radioButton一.IsChecked = trueMessageBox.Show("经验再见!")} 大体意思是:如果选了“经验你好”的单选按钮,然后单击确定,则显示包含“经验你好”的提示对话框;否则,显示“经验再见”的对话框。 一一 运行程序。 难度:★☆☆☆☆ 现在让我们来看看,我们的第一个程序是否能够正常运行。 Debug——>Start Debugging,或者直接按键盘上的 F5 键,程序开始运行。 如果你的编码和第 一0 步骤中的一样,我们在第 陆 —— 吧 步骤中设计好的窗体就会出现在屏幕上

NuGet是微软推出的一个集成引用第三方空间库的工具,之前需要手工找dll等文件的方式,太过原始。每次编译程序时需要读取对应的引用文件,看看是不是网络异常导致的,总之就是需要的文件没被加载上所致。

net的相关知识,可以去最课程看看。

关于NuGet的介绍已经很多,可以参考下面的:

NuGet学习笔记(1)——初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/

NuGet学习笔记(2)——使用图形化界面打包自己的类库 http://kb.cnblogs.com/page/143191/

NuGet学习笔记(3)——搭建属于自己的NuGet服务器 http://kb.cnblogs.com/page/143192/

上面的文章介绍了搭建Web版本的NuGet服务器以及用图形化的方式生成NuGet包。

用NuGet.Server管好自家的包包 http://www.cnblogs.com/dudu/archive/2012/06/05/nuget_server_push.html

上面的文章介绍了搭建Web版本的NuGet服务器,以及自动化生成NuGet包的方法

本文介绍简单的NuGet服务器,以及VS2013自动化生成NuGet包的内容。

一、VS自动生成NuGet包

1、在VS中创建类库项目

2、启用NuGet程序包还原(Enable

NuGet Package Restore)

在解决方案上右击,选择“启用NuGet程序包还原”

确定后会在解决方案中增加一个“.nuget"文件夹,该文件夹有三个文件。

此时,打开项目文件ClassLibrary1.csproj,可以看到类似下面的内容,注意:下面绿色背景行的内容是否出现在ClassLibrary1.csproj中

<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists(‘$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props‘)" />

<PropertyGroup>

<Configuration Condition=" ‘$(Configuration)‘ == ‘‘ ">Debug</Configuration>

<Platform Condition=" ‘$(Platform)‘ == ‘‘ ">AnyCPU</Platform>

<ProjectGuid>{92A6F604-9829-49FB-8B06-FF2E4C757EC4}</ProjectGuid>

<OutputType>Library</OutputType>

<AppDesignerFolder>Properties</AppDesignerFolder>

<RootNamespace>ClassLibrary1</RootNamespace>

<AssemblyName>ClassLibrary1</AssemblyName>

<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>

<FileAlignment>512</FileAlignment>

<SolutionDir Condition="$(SolutionDir) == ‘‘ Or $(SolutionDir) == ‘*Undefined*‘">..\</SolutionDir>

<RestorePackages>true</RestorePackages>

</PropertyGroup>

<PropertyGroup Condition=" ‘$(Configuration)|$(Platform)‘ == ‘Debug|AnyCPU‘ ">

<DebugSymbols>true</DebugSymbols>

<DebugType>full</DebugType>

<Optimize>false</Optimize>

<OutputPath>bin\Debug\</OutputPath>

<DefineConstants>DEBUGTRACE</DefineConstants>

<ErrorReport>prompt</ErrorReport>

<WarningLevel>4</WarningLevel>

</PropertyGroup>

<PropertyGroup Condition=" ‘$(Configuration)|$(Platform)‘ == ‘Release|AnyCPU‘ ">

<DebugType>pdbonly</DebugType>

<Optimize>true</Optimize>

<OutputPath>bin\Release\</OutputPath>

<DefineConstants>TRACE</DefineConstants>

<ErrorReport>prompt</ErrorReport>

<WarningLevel>4</WarningLevel>

</PropertyGroup>

<ItemGroup>

<Reference Include="System" />

<Reference Include="System.Core" />

<Reference Include="System.Xml.Linq" />

<Reference Include="System.Data.DataSetExtensions" />

<Reference Include="Microsoft.CSharp" />

<Reference Include="System.Data" />

<Reference Include="System.Xml" />

</ItemGroup>

<ItemGroup>

<Compile Include="Class1.cs" />

<Compile Include="Properties\AssemblyInfo.cs" />

</ItemGroup>

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists(‘$(SolutionDir)\.nuget\NuGet.targets‘)" />

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

<PropertyGroup>

<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>

</PropertyGroup>

<Error Condition="!Exists(‘$(SolutionDir)\.nuget\NuGet.targets‘)" Text="$([System.String]::Format(‘$(ErrorText)‘, ‘$(SolutionDir)\.nuget\NuGet.targets‘))" />

</Target>

<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

Other similar extension points exist, see Microsoft.Common.targets.

<Target Name="BeforeBuild">

</Target>

<Target Name="AfterBuild">

</Target>

-->

</Project>

如果没有出现带加号行的内容,需要手动添加上。

第2块绿背景内的代码创建了对.nuget文件夹下的NuGet.targets文件的引用,并添加了缺少NuGet.targets文件的错误信息。

第1块绿背景内的第1行代码创建了SolutionDir 并设置默认值为项目的父目录,NuGet.targets利用这个配置值来找到他需要的NuGet.exe等资源。

第二行代码,RestorePackages被设置为True。

3、设置BuildPackages

2中启用了NuGet还原,但是还需要设置让NuGet自动生成nupkg包文件,用记事本打开.csproj文件添加下面1行语句

<BuildPackage>true</BuildPackage>

到1下一行的话,Debug和Release编译均生成包

到2下一行的话,只用Debug编译才生成包

到3下一行的话,只用Release编译才生成包

4、编译

编译后就可以再bin文件夹下看到.nupkg文件了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10998025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存