Subscribe: DotNetGerman Bloggers
http://blogs.dotnetgerman.com/mainfeed.aspx
Added By: Feedage Forager Feedage Grade B rated
Language: German
Tags:
auf  build  das  die  ein  für  git flow  git  microsoft  net  new  release  studio  und  visual studio  visual  windows 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: DotNetGerman Bloggers

DotNetGerman Bloggers



Alle Blogs von DotNetGerman.com



Copyright: Copyright 2004-2014 DotNetGerman.com
 



Häufigere Updates für Visual Studio 2017 und "Fast Ring" für Previews

Tue, 25 Apr 2017 07:23:00 +0200

Anstelle der quartalsweisen Updates werden neue Versionen nun im Abstand weniger Tage und Wochen bereitgestellt. Außerdem gibt es jetzt noch häufiger Vorabversionen, die sich eigenständig aktualisieren und parallel installieren lassen.



Augmensys – die Augmented Reality Software UBIK

Tue, 25 Apr 2017 06:23:10 Z

UBIK – Mobiles Datenmanagement und Cloud Services für die Industrie  „Die notwendigen Daten, zur rechten Zeit am richtigen Ort, für den jeweiligen Anwender!“ Die Augmented Reality Software UBIK von Augmensys ist ein mächtiges Tool für die gesamte Industrie – branchenunabhängig und anwendungsorientiert. Mit UBIK stellen viele unterschiedliche Quellsysteme (CAD, CAE, DMS, ERP, DCM,…) aufgrund einer...



ASP.NET Identity over REST – Screencast-Serie auf Youtube-Channel

Mon, 24 Apr 2017 19:54:40 Z

Ein kurzes Wrap-Up meiner neuen Screencast-Serie zu ASP.NET Identity auf Youttube.



Einführung in Node, Folge 15: Integrationstests schreiben

Mon, 24 Apr 2017 10:25:00 +0200

Unit-Tests überprüfen einzelne Funktionseinheiten isoliert, Integrationstests hingegen prüfen das Zusammenspiel verschiedener Komponenten im Verbund. Allerdings haben sie häufig auch externe Abhängigkeiten, beispielsweise auf das Dateisystem oder das Netzwerk. Wie lassen sich solche Tests in Node schreiben?



.NET CultureInfo in Windows 10

Sun, 23 Apr 2017 23:45:00 Z

Did you know that the CultureInfo behavior with “unkown” cultures has changed with Windows 10?

I stumbled two times about this “problem” - so this is enough to write a short blogpost about it.

Demo Code

Lets use this democode:

    try
    {


        // ok on Win10, but not on pre Win10 if culture is not registred
        CultureInfo culture1 = new CultureInfo("foo");
        CultureInfo culture2 = new CultureInfo("xyz");
        CultureInfo culture3 = new CultureInfo("en-xy");

        // not ok even on Win 10 - exception
        CultureInfo culture4 = new CultureInfo("foox");

    }
    catch (Exception exc)
    {

    }

Windows 10 Case

If you run this code under Windows 10 it should fail for the “foox” culture, because it doesn’t seem to be a valid culture anyway.

“culture1”, “culture2”, “culture3” are all valid cultures in the Windows 10 world, but are resolved with Unkown Locale and LCID 4096.

I guess Windows will look for a 2 or 3 letter ISO style language, and “foox” doesn’t match this pattern.

Pre Windows 10 - e.g. running on Win Server 2012R2

If you would run the code unter Windows Server 2012 R2 it would fail on the first culture, because there is no “foo” culture registred.

“Problem”

The main “problem” is that this behavior could lead to some production issues if you develop with Windows 10 and the software is running on a Win 2012 server.

If you are managing “language” content in your application, be aware of this “limitation” on older Windows versions.

I discovered this problem while debugging our backend admin application. With this ASP.NET frontend it is possible to add or manage “localized” content and the dropdown for the possible language listed a whole bunch of very special, but “Unkown locale” cultures. So we needed to filter out all LCID 4096 cultures to ensure it would run under all Windows versions.

MSDN

This behavior is also documented on MSDN

The “Unkown culture” LCID 4096 was introduced with Windows Vista, but only with Windows 10 it will be “easy” usable within the .NET Framework.

(image)



IEC 61131-3: Methods, Properties and Inheritance

Sun, 23 Apr 2017 20:21:00 Z

Object-oriented programming (OOP) is a proven way of keeping the complexity of software systems in check. Until recently the preserve of languages such as C++, Java and C#, IEC 61131-3 introduces the concept to PLC programming. Methods Previously, a function block consisted of internal, input and output variables. There was only one opportunity to modify […](image)



.NET Transaction: Timeout via Config setzen

Sat, 22 Apr 2017 07:00:48 Z

Erfahre, wie die .NET Transaction Timeouts korrekt gesetzt werden.

The post .NET Transaction: Timeout via Config setzen appeared first on Norbert Eder.




Material zu Angular-Session von Global Azure Bootcamp in Linz, 2017

Sat, 22 Apr 2017 00:00:00 +0100

Nachfolgend mein Material von meiner Angular-Session vom global Azure Bootcamp in Linz:




12 Open Source UI-Frameworks für WPF-Anwendungen

Fri, 21 Apr 2017 19:48:11 Z

Auf der mittlerweile populärsten Sourcecode-Verwaltungsplattform GitHub befinden sich etliche frei verfügbare UI-Frameworks für .NET Anwendungen. Die hier aufgelisteten Frameworks für WPF sind...



Microsofts To-Do kann mit Wunderlist bisher nicht mithalten

Thu, 20 Apr 2017 13:38:00 +0200

Microsofts neue Aufgabenverwaltung liegt derzeit noch weit hinter dem Vorgänger Wunderlist zurück.



A first glimpse into CAKE

Thu, 20 Apr 2017 00:00:00 Z

Since a couple of years I use FAKE (C# Make) to configure my builds. Also at the YooApps we use FAKE in some projects. One of the projects uses it since more than two years. FAKE is really great and I love to use it, but there is one problem with it: The most C# developers don't really like to use new things. The worst case for the most C# developers - it seems - is a new tool, that uses an exotic language like F#. This is why I have to maintain the FAKE build scripts, since I introduced FAKE to the team. It is that new tool and the F# language that must be scary for them, even if they don't really need to learn F# for the most common scenarios. That's why I asked the fellow developers to use CAKE (C# Make). It is C# make instead of F# make It looks pretty similar It works the same way It is a scripting language It works almost everywhere They really liked the idea to use CAKE. Why? just because of C#? It seems so... It doesn't really makes sense to me, but anyway, it makes absolutely sense that the developers need to use and to maintain there own build configurations. How does CAKE work? CAKE is built using a C# scripting language. It uses the Roslyn compiler to compile the scripts. Instead of using batch files, as FAKE does, it uses a PowerShell script (build.ps1) to bootstrap itself and to run the build script. The bootstrapping step loads CAKE and some dependencies using NuGet. The last step the PowerShell script does, is to call the cake.exe and to execute the build script. The bootstrapping needs network access, to load all the stuff. It also loads the nuget.exe, if it's not available. If you don't like this, you can also commit the loaded dependencies to the source code repository. The documentation is great. Just follow the getting-started guide to get a working example. There's also a nice documentation about setting up a new project available. Configuring the build If you know FAKE or even MSBuild it will look pretty familiar to you. Let's have a quick look into the first simple example of the getting started guide: var target = Argument("target", "Default"); Task("Default") .Does(() => { Information("Hello World!"); }); RunTarget(target); The first line retrieves the build target to execute from the command line arguments. Starting from line 3 we see a definition of a build target. This target just prints a "Hello World!" as a information message. The last line starts the initial target by its name. A more concrete code sample is the build script from the CAKE example (I removed some lines in this listing to get a shorter example): #tool nuget:?package=NUnit.ConsoleRunner&version=3.4.0 var target = Argument("target", "Default"); var configuration = Argument("configuration", "Release"); // Define the build directory. var buildDir = Directory("./src/Example/bin") + Directory(configuration); Task("Clean") .Does(() => { CleanDirectory(buildDir); }); Task("Restore-NuGet-Packages") .IsDependentOn("Clean") .Does(() => { NuGetRestore("./src/Example.sln"); }); Task("Build") .IsDependentOn("Restore-NuGet-Packages") .Does(() => { MSBuild("./src/Example.sln", settings => settings.SetConfiguration(configuration)); }); Task("Run-Unit-Tests") .IsDependentOn("Build") .Does(() => { NUnit3("./src/**/bin/" + configuration + "/*.Tests.dll", new NUnit3Settings { NoResults = true }); }); Task("Default") .IsDependentOn("Run-[...]



Wofür braucht man BCC?

Wed, 19 Apr 2017 10:49:00 +0200

Das BCC-Feld in E-Mails zu erklären, ist aus technischer Sicht einfach: Das Akronym steht für "Blind Carbon Copy", was im Deutschen ungefähr dem Begriff "Blindkopie" entspricht. Doch was ist dessen Sinn? Ein Erklärungsversuch.



Please use a password manager

Tue, 18 Apr 2017 00:00:00 Z

Since years, I'm using a password manager to store and manage all my credentials for all the accounts I use. The usage of such a tool is pretty common for me and it is a normal flow for me to create a new entry in the password manager first before I create the actual account.

I'm always amazed, if I meet people, who don't use any tool to store and manage their credentials. They use the same password or the same bunch of passwords everywhere. This is dangerous and most of them already know about that. Maybe they are to lazy to spend one or two ours to think about the benefits and to search for the right tool or they simply don't know about such tools

For me the key benefits are pretty clear:

  • I don't need to remember all the passwords.
  • I don't need to think about secure passwords while creating new one
  • I just need to remember one single passphrase

Longer passwords are more secure than short ones, even if the short ones include special characters, numbers and upper case characters. But longer passwords are pretty hard to remember. This is why Edward Snowden proposed to use passphrases instead of passwords. Using passphrases like this, are easy to remember. But would it really makes sense to create a different pass-phrase for every credentials you use? I don't think so.

(image)

I just created a single pass-phrase which is used with the password manager and I use the password manager to generate the long passwords for me. Most of the generated password are like this:

I4:rs/pQO8Ir/tSk*`1_KSG"~to-xMI/Gf;bNP7Qi3s8RuqIzl0r=-JL727!cgwq

(image)

The tool I use is KeePass 2, which is available on almost all devices and OS I use. As small desktop app on Windows, Mac and Linux as an app on Windows phones and Android. (Probably on iOS too, but I don't use such a device). KeePass stores the passwords on a encrypted file. This file could be stored on a USB drive or on a shared folder in the cloud. I use the cloud way to share the file to every device. The cloud store itself is secured with a password I don't know and which is stored in that KeePass file.

What the F***, you really put the key to lock your house into a safe which is inside your house? Yes!

The KeyPass file is synced offline and offline accessible on all devices. If the file changes it will be synched to all devices. I'm still able to access all credentials.

With the most password mangers, you are able to copy the username and the password, using shortcuts to the login forms. Some of them are able to automatically fill in the credentials. KeePass uses the clipboard, but deletes the values from the clipboard after a couple of seconds. Like this, no one else can access or reuse the credentials within the clipboard.

There are many more password manager out there. But KeePass - with the encrypted file - works best for me. I'm responsible to store the file on a save location and I can do that wherever I want.

Summary

Use a password manager! Spend the time to try the tools and choose the tools that fits you best. It is important! Once you use a password manager, you never want to work without one. It will make you live easier and hopefully more secure.

(image)



Pre-Events für die BUILD 2017 (Seattle)

Wed, 12 Apr 2017 17:39:17 Z

Die Angebote an Trainings am Vortag der BUILD wachsen gerade kräftig. Anbei ein aktueller Stand der Angebote – für die meisten ist eine “Bewerbung” mit einem Profil erforderlich. Neu dazu gekommen sind Veranstaltungen zu Visual Studio Extensions, Visual Studio für Partner und ein .NET Core Training. Speziell die Visual Studio Veranstaltungen, das .NET Core Training...



Was ist 1/10 im Binärsystem?

Wed, 12 Apr 2017 12:09:00 +0200

In vielen Programmiersprachen führt das Rechnen mit Dezimalzahlen zu ungenauen Ergebnissen. Als Grund wird in der Regel angeführt, dass sich bestimmte Dezimalzahlen nicht exakt im Binärsystem repräsentieren ließen. Doch warum ist das so?



CELUM – Digital Asset Management auf Microsoft Azure

Tue, 11 Apr 2017 06:40:00 Z

Schnittstellen zu anderen Systemen sind ein heikles Thema: Oft sind es IT-technische Zwangsheiraten, damit ein Austausch an nötigen Informationen überhaupt erst möglich ist. Und dann gibt es die Systeme, die Hand in Hand arbeiten, sich verstehen und zusammen mächtige Grundpfeiler der digitalen Architektur für Unternehmen darstellen. So geschehen bei CELUM und Microsoft Azure. Das Unternehmen...



Einführung in Node, Folge 14: Websockets

Mon, 10 Apr 2017 10:00:00 +0200

WebSockets sind ein TCP-basiertes Netzwerkprotokoll, das eine dauerhafte und bidirektionale Verbindung zwischen Client und Server ermöglicht. Auf dem Weg lassen sich beispielsweise Push-Nachrichten zeitnah zustellen, ohne aufwändiges Polling betreiben zu müssen. Wie funktioniert das unter Node?



Gratis AI Immersion Hands-On Workshop in Seattle

Fri, 07 Apr 2017 14:30:00 Z

Das Cortana Intelligence Team hat ein super Angebot für alle Entwickler, die Ihre AI Kenntnisse vertiefen wollen. Es wird ein exklusiver Hands-On Workshop mit den Industrie Experten aus den Product Teams und Microsoft Research angeboten, wo ihr die Möglichkeiten habt, über Künstliche Intelligenz zu lernen und in eure Applikationen einzubauen. Der Workshop ist gratis, allerdings...



Kostenloser Vortrag: "Was bringen Visual Studio 2017 und C# 7.0?"

Fri, 07 Apr 2017 08:19:00 +0200

In diesem User-Group-Vortrag am 26. April um 18 Uhr in Ratingen erhält man einen Überblick über die Neuerungen in Visual Studio 2017, C# 7.0 und Visual Basic 15, einschließlich der .NET Core Tools Version 1.0.



Einfaches überprüfen in .NET/C# , ob eine E-Mail-Adresse richtig aufgebaut ist

Thu, 06 Apr 2017 10:36:00 +0200

Mit der in .NET und .NET Core verfügbaren Klasse System.ComponentModel.DataAnnotations. EmailAddressAttribute kann man einfach E-Mail-Adresse prüfen.



Azure Data Analytics für Entwickler

Thu, 06 Apr 2017 06:00:10 Z

In diesem Kurs spricht Lucas Volkert über die Möglichkeiten von Azure Data Analytics. Dabei wird darauf eingegangen was Maschinelles Lernen überhaupt ist und die Möglichkeiten von Azure Machine Learning werden anhand eines praktischen Beispiels vorgestellt. Außerdem werden die Analysemöglichkeiten von Azure Stream Analytics auf sich schnell verändernden Datenbeständen näher betrachtet. 01 | Einführung und Überblick...



Lazy Loading with Angular - Material from ng-conf 2017 in Salt Lake City

Thu, 06 Apr 2017 00:00:00 +0100

Please find below the material from my talk at ng-conf regarding Lazy Loading and Preloading in Angular:




Gelesen: "Wie Google tickt"

Wed, 05 Apr 2017 10:51:00 +0200

Google gehört zweifelsohne zu den beeindruckendsten Unternehmen der digitalen Welt des 21. Jahrhunderts. Doch was zeichnet es aus, was macht das Unternehmen so besonders? Antworten auf diese Fragen gibt das Buch "Wie Google tickt".



QueryTrackingBehavior in Entity Framework Core

Wed, 05 Apr 2017 07:58:00 +0200

In Entity Framework Core hat Microsoft eine eleganteres Feature eingebaut, um die Performance von Datenbank-Leseoperationen per No-Tracking zu steigern.



IEC 61131-3: Methoden, Eigenschaften und Vererbung (Update)

Tue, 04 Apr 2017 21:27:00 Z

Eine bewährte Methode um die Komplexität von Softwaresystemen zu bewältigen ist die objektorientierte Programmierung (OOP). Bisher eine Domäne von Programmiersprachen wie C++, Java oder C#, steht dieses Konzept mit der IEC 61131-3 auch der SPS-Programmierung zur Verfügung. Eine kurze Einführung bietet mein Post IEC 61131-3: Vorteile der objektorientierten Spracherweiterungen bei CoDeSys V3 aus dem Jahr […](image)



Emasos IQ – Die mobile Cloud ERP Lösung auf Microsoft Azure

Tue, 04 Apr 2017 08:28:49 Z

Wie viele Geräte haben Sie auf Lager? Wann ist das Projekt abgeschlossen? Machen Sie mir ein gutes Angebot? Kunden erwarten Antworten, sofort. Alle Antworten liefert Emasos IQ ERP, jederzeit und auf jedem Device. So lautet die Erfolgs-Rechnung: Durchgängige Geschäftsprozesse + überall verfügbare Daten + skalierbare Architektur für KMU bis Konzern + Microsoft Azure Cloud =...



Extend your Xamarin.iOS app with OpenStreetMap

Tue, 04 Apr 2017 00:00:00 Z

An important feature in the mobile area are maps capabilities. There isn't any app in the market that won't improve their value without a map. Apple and Google doing a great job with there Map-SDKs, but sometimes you hit a spot where they won't suit your needs. Maybe for legal reasons or because you hit a bug inside of them. The later was my case, which is happily resoleved with iOS 10. But I needed an alternative that works offline too.



Einführung in Node, Folge 13: HTTPS und HTTP/2

Mon, 03 Apr 2017 10:54:00 +0200

Die Protokolle HTTPS und HTTP/2 gewinnen zunehmend an Relevanz, weil sie die übertragenen Daten verschlüsseln und die Identität des Servers verifizieren. Darüber hinaus bietet HTTP/2 einige praktische Funktionen, beispielsweise das Multiplexing von Verbindungen. Wie lassen sich die beiden Protokolle in Node verwenden?



Hier lernst du wie du eine Cloud-basierte Anwendung entwickeltst

Mon, 03 Apr 2017 06:00:08 Z

Du fragst dich wie dir Cloud-App-Entwicklung helfen kann, Geschäftsprobleme zu lösen? MVPs Colin Dembovsky und Steven Borg von Northwest Cadence bieten eine hilfreiche Anleitung zu diesem Thema an. In diesem Kurs liegt der Fokus auf Azure App Entwicklung, Plattform als Service (PaaS) und DevOps auf Visual Studio Team Services. In diesem Demo-reichen Kurs lernst du,...



Blogging with Git Flow

Mon, 03 Apr 2017 00:00:00 Z

Since a while we use Git Flow in our projects at the YooApps. Git Flow is a add-in for Git, that helps us to follow the feature branch process in a standard way. We usually use our Jira ticket number as names for features, bugs or hotfix and we use the Jira Version as a Release name. This makes absolutely sense to us and makes the flow pretty transparent. We also use BitBucket to host our Git repositories, which is directly linked to Jira. That means on every Pull Request we have the direct link to the Jira ticket. Using Git Flow to release new posts My idea is to also use Git Flow to release new blog posts. My blog is generated by Pretzel, which is a Jekyll clone written in C#. I host it on an Azure Web Site. I write my posts in GitHub style Markdown files and push them to GitHub. Every time I push a new post, the Azure Web Site starts a new build and runs Pretzel to generate the static blog. I already wrote some blog posts about using Pretzel Dear hackers and bots: Because it is a static web site, it doesn't make sense to search for WordPress login pages or WordPress APIs on my blog ;) Since almost one and a halve year now, I use Git on GitHub to publish my posts, but I only use the master branch yet and I don't commit the drafts. I sometimes write two or three post in parallel and I anyway have around ten drafts in the Pretzels _drafts folder. This feels a bit messy and I will probably loose my drafted posts, if the machine crashes. Using Git Flow, I don't need to use the _drafts folder anymore. Every unfinished feature branch is a draft. If I finish a post, I would just need to finish the feature branch. If I want to publish the posts, I can start a new release. Maybe the release step is a bit too much. But currently I need to push explicitly to publish a new post and it shouldn't be a big deal to also create a new release to merge all finished posts from develop to master. If it doesn't fit, it would be easy to switch to the more simple feature branches. Let's see how it works :-) This blog post feature branch is created by using the following commands in the console: git flow feature start blogging-with-git-flow Now I'm in the draft mode and will create the blog post file, writing, adding images, linking between existing posts and so on. If this is done I do a first commit and publish the feature branch to GitHub: git add _posts/* git add img/* git commit -m "new post about blogging with pretzel" git flow feature publish At this state I can change and commit as much as I want to. If I finish the blog post, I'm going to finish the post and push the current develop branch to GitHub: git flow feature finish git push The last step is publishing the posts. I currently not sure, but I could probably use the number of posts as the minor version number, which will also be used as tag for the release: git flow release start 1.48.0 git flow release finish git push --all git push --tags (I possibly should create a batch command to execute the four lines to release new posts) After that push, Pretzel will start "baking" the blog including the new blog post. If I want to see the current drafts, I just need to display the existing branches: I'm sure this will be a clean way to publish and to handle the drafts and finished pos[...]



Links for 2017-03-31 [del.icio.us]

Sat, 01 Apr 2017 00:00:00 -0700

(image)



WordToTFS Release – Version 5.3 and 6.0 sim-shipped with Visual Studio 2017

Fri, 31 Mar 2017 18:25:19 Z

We are proud to announce the new release of WordToTFS that has been sim-shipped with Visual Studio 2017. There are a lot of new features and also some bug fixes we’re going to explain in this blog post. Basically both versions have the same features, but WordToTFS 5.3 still works on the Visual Studio 2015 […]



Einladung zum Business Frühstück in Wien: Industry 4.0, Smart Factory und IoT

Fri, 31 Mar 2017 11:05:49 Z

Vor nicht gar allzu langer Zeit hat mein Kollege Gewald Oberleiterner euch auf ein interessantes Event „Business Breakfast: Industrie 4.0 – Smart Factory und IoT“ in der Schweiz hingewiesen. Aufgrund der hohen Nachfrage holen wir das Business Frühstuck jetzt nach Wien. Das Event ist kostenlos und findet in unserer Microsoft Zentrale in Wien statt. Im Rahmen dieser Veranstaltung möchten wir euch einen Querschnitt zu Themen präsentieren, die eurer Unternehmen fit für das digitale Zeitalter machen.



C# 7: Local Functions

Fri, 31 Mar 2017 08:41:06 Z

C# 7.0 bietet viele Neuerungen. Dieser Beitrag stellt die neuen Local Functions vor.

The post C# 7: Local Functions appeared first on Norbert Eder.




New release of TFS ASAP for TFS 2017 Update 1

Fri, 31 Mar 2017 04:00:00 Z

We are proud to present the new release of our TFS Automated Servicing and Administration Platform (TFS ASAP). This version supports update 1 of Microsoft Team Foundation Server 2017. The release includes two important bug fixes and a slightly different set of preconfigured automations. First of all, automations added to the configuration file are no […]



Using xUnit, MSTest or NUnit to test .NET Core libraries

Fri, 31 Mar 2017 00:00:00 Z

MSTest was just announced to be open sourced, but was already moved to .NET Core some months ago. It seems it makes sense to write another blog post about unit testing .NET Core applications and .NET Standard libraries using .NET Core tools. In this post I'm going to use the dotnet CLI and Visual Studio Code completely. Feel free to use Visual Studio 2017 instead, if you want to and if you don't like to use the console. Visual Studio 2017 is using the same dotnet CLI and almost the same commands in the background. Setup the system under test Our SUT is a pretty complex class, that helps us a lot to do some basic math operation. This class will be a part of a super awesome library: namespace SuperAwesomeLibrary { public class MathTools { public decimal Add(decimal a, decimal b) => a + b; public decimal Substr(decimal a, decimal b) => a - b; public decimal Multiply(decimal a, decimal b) => a * b; public decimal Divide(decimal a, decimal b) => a / b; } } I'm going to add this class to the "SuperAwesomeLibrary" and a solution I recently added like this: mkdir unit-tests & cd unit-tests dotnet new sln -n SuperAwesomeLibrary mkdir SuperAwesomeLibrary & cd SuperAwesomeLibrary dotnet new classlib cd .. dotnet sln add SuperAwesomeLibrary\SuperAwesomeLibrary.csproj The cool thing about the dotnet CLI is, that you are really able to create Visual Studio solutions (line 2). This wasn't possible with the previous versions. The result is a Visual Studio and MSBuild compatible solution and you can use and build it like any other solution in your continuous integration environment. Line 5 creates a new library, which will be added to the solution in line 7. After this is done, the following commands will complete the setup, by restoring the NuGet packages and building the solution: dotnet restore dotnet build Adding xUnit tests The dotnet CLI directly supports to add XUnit tests: mkdir SuperAwesomeLibrary.Xunit & cd SuperAwesomeLibrary.Xunit dotnet new xunit dotnet add reference ..\SuperAwesomeLibrary\SuperAwesomeLibrary.csproj cd .. dotnet sln add SuperAwesomeLibrary.Xunit\SuperAwesomeLibrary.Xunit.csproj This commands are creating the new xUnit test project, adding a reference to the SuperAwesomeLibrary and adding the test project to the solution. If this was done, I created the xUnit tests for our MathHelper using VSCode: public class MathToolsTests { [Fact] public void AddTest() { var sut = new MathTools(); var result = sut.Add(1M, 2M); Assert.True(3M == result); } [Fact] public void SubstrTest() { var sut = new MathTools(); var result = sut.Substr(2M, 1M); Assert.True(1M == result); } [Fact] public void MultiplyTest() { var sut = new MathTools(); var result = sut.Multiply(2M, 1M); Assert.True(2M == result); } [Fact] public void DivideTest() { var sut = new MathTools(); var result = sut.Divide(2M, 2M); Assert.True(1M == result); } } This should work and you need to call your very best dotnet CLI friends again: dotnet restore dotnet build The cool thin[...]



Links for 2017-03-30 [del.icio.us]

Fri, 31 Mar 2017 00:00:00 -0700

(image)



2. Magdebuger Developer Days am 10. und 11. Mai 2017

Thu, 30 Mar 2017 22:54:00 +0200

In diesem Jahr findet die Community-Konferenz für Softwareentwickler im Bereich .NET, Java und JavaScript zweitägig statt.



MVA: Ausgangspunkte

Thu, 30 Mar 2017 06:00:35 Z

Die Anzahl der Kurse die auf MVA (mva.microsoft.com) angeboten werden kann sicher erschlagend wirken. Daher haben wir uns gedacht wir geben euch verschiede Ausgangspunkte je nach Rolle. natürlich kannst du auch in jeder anderer Kategorie auch schnuppern. Rollen: Mobile- und Webentwickler; Spieleentwickler; Netzwerk, Infrastruktur und Cloud Engineers; Datenbankadministratoren; Architekten und Entwickler ; Studenten



Links for 2017-03-29 [del.icio.us]

Thu, 30 Mar 2017 00:00:00 -0700

(image)






Callbacks + Promises: Es ist kompliziert

Wed, 29 Mar 2017 11:39:00 +0200

Dank async und await erleben Promises in der JavaScript-Welt derzeit einen neuen Aufschwung. Zahlreiche Module wollen von Callbacks auf die neue API umgestellt werden. Während des Übergangs gilt es jedoch einige Fallstricke zu vermeiden.



3 Tipps für ein positives Umfeld

Wed, 29 Mar 2017 10:50:12 Z

Es gibt so viele Gründe, warum eine Projektumsetzung oder eine Produktentwicklung scheitern kann. Immer hat es allerdings mit Menschen zu tun. Damit sich Menschen entfalten und etwas Tolles erschaffen können, ist ein positives Umfeld notwendig. Mit diesem Beitrag möchte ich dir drei absolut hilfreiche Tipps mit auf deinen Weg geben.

The post 3 Tipps für ein positives Umfeld appeared first on Norbert Eder.




Links for 2017-03-28 [del.icio.us]

Wed, 29 Mar 2017 00:00:00 -0700

(image)



Links for 2017-03-27 [del.icio.us]

Tue, 28 Mar 2017 00:00:00 -0700

(image)



How we moved to Visual Studio 2017

Mon, 27 Mar 2017 23:45:00 Z

(image)

Visual Studio 2017 has arrived and because of .NET Core and other goodies we wanted to switch fast to the newest release with our product OneOffixx.

Company & Product Environment

In our solution we use some VC++ projects (just for Office Development & building a .NET shim), Windows Installer XML & many C# projects for desktop or ASP.NET stuff.

Our builds are scripted with CAKE (see here for some more blogposts about [CAKE}(https://blog.codeinside.eu/2017/02/13/create-nuget-packages-with-cake/) and us the TFS vNext Build to orchestrate everything.

Step 1: Update the Development Workstations

The first step was to update my local dev enviroment and install Visual Studio 2017.

After the installation I started VS and opened our solution and because we have some WIX projects we needed the most recent Wix 3.11 toolset & the VS 2017 extension.

Step 2: VC++ update

We wanted a clean VS 2017 enviroment, so we decided to use the most recent VC++ 2017 runtime for our VC++ projects.

Step 3: project update

In the past we had some issues that MSBuild used the wrong MSBuild version. Maybe this step is not needed, but we pointed all .csproj files to the newest MSBuild ToolVersion 15.0.

Step 4: CAKE update

The last step was to update the CAKE.exe (which is controlled by us and not automatically downloaded via a build script) to 0.18.

Step 5: Minor build script changes

We needed to adjust some paths (e.g. to the Windows SDK for signtool.exe) and ensure that we are using the most recent MSBuild.exe.

Step 6: Create a new Build-Agent

We decided to create a new TFS Build-Agent and do the usual build agent installation, imported the code-cert and do some magic because of some C++/COM-magic (don’t ask… COM sucks.)

Recap

Besides the C++/COM/magic issue (see above) the migration was pretty easy and now our team works with Visual Studio 2017.

(image)



Einführung in Node, Folge 12: Unit-Tests schreiben

Mon, 27 Mar 2017 10:27:00 +0200

Für das Erreichen einer hohen Codequalität sind Unit-Tests nahezu unverzichtbar. Zum Schreiben und Ausführen der Tests stehen verschiedene Frameworks zur Auswahl, unter anderem Mocha. Wie funktioniert es?



C# 7: Literale

Mon, 27 Mar 2017 09:36:26 Z

Numerische und binäre Literale erhielten ein Trennzeichen zur lesefreundlicheren Darstellung.

The post C# 7: Literale appeared first on Norbert Eder.




Links for 2017-03-26 [del.icio.us]

Mon, 27 Mar 2017 00:00:00 -0700

  • New employee quick start guide - Microsoft Tech Community
    When a new employee joins, it is important for the company to enable that employee to quickly onboard to their role. As part of the ramp up process, admins are often asked to help the end user understand and use the available software & tools including Office 365. via Pocket
(image)



Links for 2017-03-25 [del.icio.us]

Sun, 26 Mar 2017 00:00:00 -0700

(image)