******** Installation *********
A script has been built to quickly setup the environment so that we can quickly deploy locally a nuget version.
./deploy-locally.py
# --install -> create the nuget sources; add an executable to /usr/bin/local deploy-locally; creates an environment variable
# --uninstall -> cleanup the environment -> removes the nuget sources; remove the executable !!! KEEPS THE environment variable
# --add -> add tweetinvi package to current project
# --rm -> removes tweetinvi package from current project
****************** CONFIGURE MACHINE *********************
Install PowerShell Community Extensions to get the Write-Zip command
Install-Module Pscx -Scope CurrentUser
Add the PowerShell.Exe.Config to C:\Windows\System32\WindowsPowerShell\v1.0
Set-ExecutionPolicy RemoteSigned
If this command does not work run
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
Restart the machine (pscx cannot be used otherwise)
- Copy tweetinvi.certificate.p12 in the
Developer Tools
folder. - Open Powershell and set the
tweetinvikey
environment variable.
[Environment]::SetEnvironmentVariable("tweetinvikey", "The secrete key", "User")
************************ NUGET ***************************
nuget pack
nuget push <*.nupkg> -ApiKey 'MY_NUGET.ORG_APIKEY' -Verbosity detailed
********************** VS SIGNING ************************
Open Visual Studio Command Prompt
- Generate the public Key file
sn -p tweetinvi.pfx tweetinvi.key
- Get the Hexa version of the public key. When performing this action the password should be requested
sn -tp tweetinvi.key
********************** DLL SIGNING ************************
// From ILMerge with *.snk
ILMerge /target:library /out:merged.dll /keyfile:tweetinvi.snk some.dll someother.dll
// From ILMerge with *.pfx // http://blog.nerdbank.net/2009/06/how-to-get-ilmerge-to-work-with-pfx.html
sn -p tweetinvi.pfx tweetinvi.pub ilmerge /keyfile:tweetinvi.pub /delaysign /out:output\Tweetinvi.dll some.dll someother.dll sn -R output\Tweetinvi.dll some.pfx
// From non signed DLL // http://www.geekzilla.co.uk/ViewCE64BEF3-51A6-4F1C-90C9-6A76B015C9FB.htm
ildasm Tweetinvi.dll /out:Tweetinvi.il ren Tweetinvi.dll Tweetinvi.dll.orig ilasm Tweetinvi.il /dll /key= key_path.snk
**************** NUGET FOLDER STRUCTURE *******************
lib/net40 lib/net45 lib/netstandard1.6 lib/portable-net40+sl5+wp80+win8+wpa81 lib/portable-net45+wp80+win8+wpa81+dnxcore50
********************* MANUAL BUILD ************************
cd Tweetinvi
dotnet build -c Release -f netstandard1.4
cp -r bin/Release/netstandard1.4/ ../Developer\ Tools/TweetinviAPI/lib/
dotnet build -c Release -f netstandard2.0
cp -r bin/Release/netstandard2.0/ ../Developer\ Tools/TweetinviAPI/lib/
cd ../Developer\ Tools/TweetinviAPI/
../nuget.exe pack