The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘.NET’ Category

Team Explorer: undocking “Pending Changes” and “Build” views – via: Team Explorer Everywhere 2013 is Available – Brian Harry’s blog – Site Home – MSDN Blogs

Posted by jpluimers on 2016/04/13

Cool, wish I had known this a few years ago (:

You can now undock the Pending Changes and Builds views and position them anywhere within the workbench window.  Both views also now appear under Window > Show View, which makes it possible to add these views to another perspective.

–jeroen

via Team Explorer Everywhere 2013 is Available – Brian Harry’s blog – Site Home – MSDN Blogs.

Posted in .NET, Development, Software Development, Visual Studio 2013, Visual Studio 2014, Visual Studio and tools | Leave a Comment »

License for MICROSOFT VISUAL STUDIO COMMUNITY 2015 (which includes Xamarin use)

Posted by jpluimers on 2016/04/07

Wow, Microsoft has come a long way:

MICROSOFT VISUAL STUDIO COMMUNITY 2015


These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. They apply to the software named above. The terms also apply to any Microsoft services or updates for the software, except to the extent those have different terms.


IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE RIGHTS BELOW.

  1. INSTALLATION AND USE RIGHTS.
    1. Individual license. If you are an individual working on your own applications to sell or for any other purpose, you may use the software to develop and test those applications.
    2. Organization licenses. If you are an organization, your users may use the software as follows:
      • Any number of your users may use the software to develop and test your applications released under Open Source Initiative (OSI) approved open source software licenses.
      • Any number of your users may use the software to develop and test extensions to Visual Studio.
      • Any number of your users may use the software to develop and test your applications as part of online or in person classroom training and education, or for performing academic research.
      • If none of the above apply, and you are also not an enterprise (defined below), then up to 5 of your individual users can use the software concurrently to develop and test your applications.
      • If you are an enterprise, your employees and contractors may not use the software to develop or test your applications, except for open source and education purposes as permitted above. An “enterprise” is any organization and its affiliates who collectively have either (a) more than 250 PCs or users or (b) more than one million US dollars (or the equivalent in other currencies) in annual revenues, and “affiliates” means those entities that control (via majority ownership), are controlled by, or are under common control with an organization.
    3. Demo use. The uses permitted above include use of the software in demonstrating your applications.

The license continues, but the above are the most important aspect to verify if you can use Visual Studio 2015 under that license.

Source: MICROSOFT VISUAL STUDIO COMMUNITY 2015

Via Danial Rail and Mason Wheeler in this thread.

–jeroen

Posted in .NET, C#, Development, Software Development, VB.NET, Visual Studio 2015, Visual Studio and tools | 1 Comment »

Anders Live | Build 2016 | Channel 9 – on Turbo Pascal, Delphi, C# and TypeScript

Posted by jpluimers on 2016/04/06

Anders Live - Build 2016 - Channel 9 Stage C907 - Speakers: Anders Hejlsberg, Seth Juarez

Anders Live – Build 2016 – Channel 9 Stage C907 – Speakers: Anders Hejlsberg, Seth Juarez

Anders explaining about being a pragmatist ever since he started working on the Turbo Pascal predecessor in 1981. It’s been a long way to TypeScript and beyond (:

Lot’s of interesting tidbits about the future of TypeScript and how it relates to other languages.

Source: Anders Live | Build 2016 | Channel 9

Direct URLs:

–jeroen

PS:

The Turbo Pascal predecessors were called Blue Link Software PascalCompas Pascal and Poly Pascal as I learned last year while teaching a workshop for DAPUG in Denmark when I bumped into some people working with Anders while he still lived there a long time ago. Later I researched the above links.

 

Posted in .NET, C#, Delphi, Development, History, Pascal, Software Development, Turbo Pascal | 1 Comment »

NHibernate, LINQ, Oracle and the placement of Take: avoid “Specified method is not supported.”

Posted by jpluimers on 2016/03/22

Even though as of 12c R1, Oracle supports a row limiting clause, NHibernate 4.2 with Oracle.DataAccess.dll 2.112.3.0 does not support that.

When you let it generate the SQL for a LINQ Take call to limit the number of results, you get an exception like this (full exception and stack trace are below):

System.NotSupportedException was unhandled by user code
  HResult=-2146233067
  Message=Specified method is not supported.

The place where you Take is important, as this does fail:
Read the rest of this entry »

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, .NET ORM, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Database Development, Development, NHibernate, OracleDB, Software Development | Leave a Comment »

Reminder to self: app.config and “ORA-12154: TNS:could not resolve the connect identifier specified”

Posted by jpluimers on 2016/03/17

When you have one app.config for your whole set of DTAP environments (develop/test/acceptance production), every once in a while you get this error:

ORA-12154: TNS:could not resolve the connect identifier specified

For this particular setup, it means the replacement of parameters in the app.config with actual values from the DTAP went wrong (or was missing). For that we’ve some steps in both the PreBuildEvent and PostBuildEvent of the .csproj file:

PreBuildEvent:

del "$(ProjectDir)$(TargetFileName).config"
copy "$(ProjectDir)app.config" "$(ProjectDir)$(TargetFileName).config"

PostBuildEvent:

powershell -noprofile -file Replace-Parameter.ps1 -Path "$(TargetDir)$(TargetFileName).config"

The PreBuildEvent looks like it is not needed, but sometimes Visual Studio forgets to perform the copy action.

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, .NET ORM, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Database Development, Development, NHibernate, OracleDB, Software Development | Leave a Comment »

assembly:InternalsVisibleTo: .net – C# “internal” access modifier when doing unit testing – Stack Overflow

Posted by jpluimers on 2016/03/16

It seems I always forget about the InternalsVisibleTo attribute which allows you to specify which external assembly can see your internal types and type members:

Internal classes need to be tested and there is an assembly attribute:

using System.Runtime.CompilerServices;
[assembly:InternalsVisibleTo("MyTests")]

Add this to the project info file, e.g. Properties\AssemblyInfo.cs.

Thanks Eric Schaefer for that answer.

–jeroen

via .net – C# “internal” access modifier when doing unit testing – Stack Overflow.

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »

Sometimes it is Visual Studio’s fault: failure to copy file in a post build event

Posted by jpluimers on 2016/02/25

Not sure yet why, but every now and then I get a failure like this in Visual Studio (at least in 2013 and up):

2>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(4548,5): error MSB3073: The command "copy /Y "C:\SomePath\SomeProjectName\bin\Debug\SomeProjectName.dll" "C:\SomePath\Shared Assemblies\"" exited with code 1.
2>Done executing task "Exec" -- FAILED.

Most of the times it is me at fault: some process still is using it.

But sometimes, it is devenv.exe (Visual Studio itself) that keeps it locked, even though nothing is running (in fact it can happen right after you loaded the project in Visual Studio 2013).

I found this out by using “Process Explorer Search” (Ctrl+F or Find Handle or DLL).

Not sure why yet.

–jeroen

Posted in .NET, C#, C# 4.0, Development, Software Development, Visual Studio 2013, Visual Studio and tools | Leave a Comment »

nunit – How can I view .NET trace logs in TeamCity? – Stack Overflow

Posted by jpluimers on 2016/02/23

This indeed works very well:

All console output is shown in the build log.

So when you need more context on tests that succeed, you can just output them on the Console.

A practical use: testing the sending of SMS messages over HTTPS where the intermediate proxy can change and was giving different effects.

Logging the actual proxy used correlated some run-time findings. Based on that we could write better tests.

–jeroen

via: nunit – How can I view .NET trace logs in TeamCity? – Stack Overflow.

Posted in .NET, Agile, C#, Continuous Integration, Development, MSTest, Software Development, TeamCity, Testing.NET, Unit Testing, VSTest | Leave a Comment »

Get a Windows 10 development environment – Windows app development

Posted by jpluimers on 2016/02/16

When you own the full stack:

virtual machine (Build 201602)

These installs contain:

  • Windows 10 Enterprise Evaluation, Version 1511
  • Visual Studio 2015 Community Update 1
  • Windows developer SDK and tools (Build 10586)
  • Windows IoT Core SDK and Raspberry Pi 2 (Build 10586.0.151029-1700)
  • Windows IoT Core project templates (Version 1.0)
  • Microsoft Azure SDK for .NET (Build 2.8.2)
  • Windows Bridge for iOS (Build 0.1.0.160114)
  • Windows UWP samples (Build 2.0.4)Windows Bridge for iOS samples

The VMware VM link redirects to https://windowsdeveloper.azureedge.net/vm-1602/Win10Eval_1602_VMware.zip

Also available for Hyper-V, VirtualBox, Parallels

–jeroen

Source: Get a Windows 10 development environment – Windows app development

Posted in .NET, .NET 4.5, C#, C# 5.0, C# 6 (Roslyn), Cloud Development, Development, Hardware Development, Raspberry Pi, Software Development, VB.NET, VB.NET 14.0, Visual Studio 2015, Visual Studio and tools, Windows Azure | Leave a Comment »

NTLM and Kerberos Authentication for a WebRequest and a WebProxy

Posted by jpluimers on 2016/02/16

This was very useful to get a WebClient with a WebProxy configured to use a proxy server that is based on NTLM authentication.

The note in the MSDN NTLM and Kerberos Authentication. documentation however was totally wrong.

String MyURI = "http://www.contoso.com/";
WebRequest WReq = WebRequest.Create MyURI;
WReq.Credentials = CredentialCache.DefaultCredentials;

Note NTLM authentication does not work through a proxy server.

This code works perfectly fine as the CredentialsCache.DefaultCredentials contains your NTLM or Kerberos credentials.
It even works when you have a local Fiddler http proxy as a facade in front of your NTLM proxy.

Read the rest of this entry »

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Fiddler, Software Development, Web Development | Leave a Comment »