少有人走的路

勇哥的工业自动化技术网站

python知识导航贴,持续更新

C# 语言高级特性知识导航贴,持续更新

netMarketing类库: 类库说明

本站视觉相关教程整理贴子,持续更新

C++相关导航贴,持续更新

本站收费服务公告(netMarketing源码,工业自动化行业培训班等)

2020年勇哥的机器视觉实验项目清单(大纲)

本站连载贴子系列,持续更新中……

勇哥的免费视频教程清单

勇哥在B站发布的视频清单

运动控制专题,持续更新

快速入门:使用 Visual Studio 创建和发布 NuGet 包

从 Windows 上 Visual Studio 中的 .NET Standard 类库创建 NuGet 包,然后使用 CLI 工具将其发布到 nuget.org,这是一个很简单的过程。备注本快速入门教程仅适用于 Visual Studio 2017 for Windows。 Visual Studio for Mac 不包括此处所述的功能。 改为使用 dotnet CLI 工具。系统必备通过任何与 .NET 相关的工作负载从 visualstudio.

程序员,伤不起的三十岁

程序员干到30岁,好不容易从码奴混到了白领,却再也干不动了,还时时面临失业的危险。30岁,是一个程序员伤不起的年龄。明天,何去何从?一.30岁现象在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把。很明显嘛,权力过期作废,再不捞就要退休了,没有机会了。在程序员的圈子里,也有一个30岁现象。当然,如果你有铁饭碗,比如在国企或政府机关,那你是无法理解底层劳动人民的感受的。同时也要恭喜你成为体制内的一员,可以一直干到退休无忧。30岁现象人人都明白,但要给出一个定义并不容易。列举几个

发布自己的类库到NuGet

 NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些Visual Studio的插件等。作为一名开发人员,您可能也会开发一些公共组件以供他人使用,本文将一步步介绍如何以最简单的方式将自己所开发的类库包发布到nuget上,以供更多的人使用。

  

  使用NuGet发布自己的类库包(Library Package)步骤:

STEP 1:注册并获取API Key

首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了。

STEP 2:下载NuGet.exe

NuGet有个命令行工具:NuGet.exe;为了方便使用,请设置机器的PATH环境变量【exe所在目录】,将NuGet.exe的路径添加到PATH中。

在http://nuget.codeplex.com/releases页面底部找到NuGet.exe,点击下载即可

STEP 3:设置API Key

CMD使用以下命令设置NuGet API Key:

nuget setApiKey <my_api_key>

记得将上面的my_api_key替换为STEP 1中获得的API Key。

STEP 4:开发自己的类库

上面我们新建了一个类库:DaxnetNugetTest,并通过NuGet添加了对Castle.Core的引用,现在我们添加一些代码,来使用Castle.Core所提供的一些功能。我们将Class1.cs改名为CastleHelper.cs,此时也会将Class1类改名为CastleHelper。在CastleHelper.cs中写入以下代码:

public class CastleHelper
{    public static Castle.Core.Pair<int, int> GetIntPair()
    {        return new Castle.Core.Pair<int, int>(20, 30);
    }
}

然后,打开AssemblyInfo.cs文件,将assembly的属性设置好,记得再设置一下AssemblyVersion特性,以指定我们类库的版本。目前我们使用1.0.0.0版本:

[assembly: AssemblyTitle("DaxnetNugetTest")]
[assembly: AssemblyDescription("Daxnet's test of the NuGet.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("daxnet")]
[assembly: AssemblyProduct("DaxnetNugetTest")]
[assembly: AssemblyCopyright("Copyright © daxnet 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: Guid("20662b9f-91de-4515-9c8c-ced3d61589e1")]
[assembly: AssemblyVersion("1.0.0.0")]

全部设置好以后,编译整个项目待用。

STEP 5:产生并修改nuspec

nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入DaxnetNugetTest.csproj文件所在目录,然后执行:

1
nuget spec

此时会提示创建成功:

image.png

用notepad打开DaxnetNugetTest.nuspec文件,把需要替换的信息替换掉,不需要的tag全部删掉,注意里面的$xxx$宏,这些就是引用了AssemblyInfo.cs中的设置值,在编译产生package的时候,会使用AssemblyInfo.cs中的相应值进行替换。完成编辑后,我们的nuspec文件如下:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>$author$</authors>
    <owners>$author$</owners>
    <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
    <projectUrl>http://apworks.org</projectUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes>First release</releaseNotes>
    <copyright>Copyright 2013</copyright>
  </metadata>
</package>

注意两点:1、$description$使用AssemblyDescriptionAttribute的值进行替换,在产生package之前,一定要记得先编译项目,否则会提示$description$找不到的错误;2、releaseNotes如果没有,就直接删掉这个节点,如果有,则填入自己的内容,不要使用默认内容,否则会在下一步产生警告信息。

STEP 6:产生类库包

同样在DaxnetNugetTest.csproj路径下,使用下面的命令产生NuGet类库包:

nuget pack DaxnetNugetTest.csproj

成功后,提示:

image.png

注意:由于我们的项目通过NuGet引用了Castle.Core,因此,它将会作为一个依赖组件(dependency)打包到产生的nupkg文件中。

另外,NuGet会使用默认的项目配置所产生的程序集进行打包。如果项目默认是Debug,而你需要用Release打包,则使用下面的命令:

nuget pack DaxnetNugetTest.csproj -Prop Configuration=Release

 

STEP 7:发布类库包

现在,通过以下命令发布类库包:

nuget push DaxnetNugetTest.1.0.0.0.nupkg

完成以后,出现以下提示:

image.png


各大主流.Net的IOC框架性能测试比较

 转载自:  https://www.cnblogs.com/xcsn/p/4390340.html在上一篇中,我简单介绍了下Autofac的使用,有人希望能有个性能上的测试,考虑到有那么多的IOC框架,而主流的有:Castle Windsor、微软企业库中的Unity、Spring.NET、StructureMap、Ninject等等。本篇文章主要针对这些IOC框架编写测试程序。 Autofac下载地址:http://code.google.com/p/autof

IoC框架

 --------------------- 本文来自 王泽宾 的CSDN 博客 :https://blog.csdn.net/wanghao72214/article/details/3969594?utm_source=copy 1 IoC理论的背景    我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。如果我们打开机械式手表的后盖,就会看到与上面类

Log4net在类库中的用法

一、使用Log4net具体流程如下:第一步:引用类库  使用VS的nuget包管理器引用log4net第二步:创建配置文件方法一、独立配置文件  在类库中添加一个log4net的配置文件,起名:log4net.config,设置此文件的属性复制到输出目录为:始终复制。注意这一项很重要。<?xml version="1.0" encoding="utf-8" ?> <configuration> &n

Hangfire入门(任务调度)

一、简介    英文官网:http://hangfire.io/    开源地址:https://github.com/HangfireIO    Hangfire 不依赖于具体的.NET应用类型,包含.NET 和.NET Core。    Hangfire 是一款强大的.NET开源后台任务利器,无需Windows服务/任务计划程序。    可以使用于ASP.NET 应用也可以使用于控制

C#开源系统大汇总

C#开源系统大汇总目录导航一、AOP框架        Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。        NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP

.net开源框架开源类库(整理)

源:http://www.cnblogs.com/chinanetwind/p/3715809.html常用库Json.NET https://github.com/JamesNK/Newtonsoft.JsonJson.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数

如何轻松使用git,不用命令行,提交代码so easy

以下观点纯属个人观点,请轻喷:前言:在Android开发中,首先要用到的就是版本控制工具,多人配合开发。(如果您是独立开发的话,请忽略本文)。使用git的话,随时随地都可以提交代码,是不是很爽。但如果您是用的命令行提交代码,那确实很痛苦。这篇文章就教大家如何使用git,方便快捷的进行版本控制。废话不多说,直接上步骤。步骤1:安装git首先先安装msysgitmsysgit 64/32位下载地址:http://download.csdn.net/download/laochangzhi/95226
«    2025年11月    »
12
3456789
10111213141516
17181920212223
24252627282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864