Nuget

From Chorke Wiki
Jump to navigation Jump to search

Mono Nuget

brew install mono
sudo curl -o /usr/local/bin/nuget.exe https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
'alias nuget="mono /usr/local/bin/nuget.exe"' >> ~/.bash_profile
brew uninstall mono
sudo rm -rf /usr/local/bin/nuget.exe
# vim  ~/.bash_profile and delete 'alias nuget="mono /usr/local/bin/nuget.exe"'
nuget setapikey 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
nuget setapikey 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -source https://cdn.chorke.org/feed

Utility Project

mkdir Utility; cd Utility

dotnet new classlib -n Chorke.Academia.Core.Utility
dotnet new xunit -n Chorke.Academia.Core.Utility.Tests

dotnet new sln -n Utility
dotnet sln add Chorke.Academia.Core.Utility/Chorke.Academia.Core.Utility.csproj

cd Chorke.Academia.Core.Utility.Tests/
dotnet add reference ../Chorke.Academia.Core.Utility/Chorke.Academia.Core.Utility.csproj
cd ..; dotnet sln add Chorke.Academia.Core.Utility.Tests/Chorke.Academia.Core.Utility.Tests.csproj
using System;
using System.Globalization;

namespace Chorke.Academia.Core.Utility
{
    public class DateUtil
    {
        public const string DD_MM_YYYY = "dd/MM/yyyy";

        public static string Format(DateTime date) => Format(date, DD_MM_YYYY);
        public static string Format(DateTime date, string format) => date.ToString(format);

        public static DateTime Parse(String date) => Parse(date, DD_MM_YYYY);
        public static DateTime Parse(String date, string format) => DateTime.ParseExact(date, format, CultureInfo.InvariantCulture);
    }
}

Unit Test

using System;
using Xunit;
using Chorke.Academia.Core.Utility;

namespace Chorke.Academia.Core.Utility.Tests
{
    public class DateUtilTest
    {
        [Fact]
        public void FormatTest()
        {
            DateTime date = new DateTime(1983, 10, 10);
            String actual = DateUtil.Format(date, DateUtil.DD_MM_YYYY);
            Assert.Equal("10/10/1983", actual);
        }
    }
}
dotnet publish Chorke.Academia.Core.Utility
dotnet test Chorke.Academia.Core.Utility.Tests
dotnet publish Chorke.Academia.Core.Utility.Tests
cd Chorke.Academia.Core.Utility
dotnet pack -c Release /p:PackageVersion=1.0.0; cd bin/Release/
dotnet nuget push Chorke.Academia.Core.Utility.1.0.0.nupkg -k <nuget api key> -s https://www.nuget.org/

Dependency

dotnet new console -n Chorke.Academia.Core.Launch
dotnet add Chorke.Academia.Core.Launch package Chorke.Academia.Core.Utility --version 1.0.2
using System;
using Chorke.Academia.Core.Utility;

namespace Chorke.Academia.Core.Launch
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime date = new DateTime(1983, 10, 10);
            String birthday = DateUtil.Format(date, DateUtil.DD_MM_YYYY);
            Console.WriteLine("Birthday :" + birthday);
        }
    }
}
dotnet publish Chorke.Academia.Core.Launch
dotnet run --project Chorke.Academia.Core.Launch

References