[null, {"document_url": "http://www.albertocorrales.com/2018/11/maintaining-assemblyinfo-for-multiple.html", "unformatted_src": "https://3.bp.blogspot.com/-QWWmpPO8tvI/W_x8fY7QPUI/AAAAAAAAFDk/kXO4LsgVv1UWumuR0iBwglIrcGQj6pIpwCLcBGAs/s400/msbuild.jpg", "src": "https://3.bp.blogspot.com/-QWWmpPO8tvI/W_x8fY7QPUI/AAAAAAAAFDk/kXO4LsgVv1UWumuR0iBwglIrcGQj6pIpwCLcBGAs/s400/msbuild.jpg", "formatted_filename": "msbuild", "rendered_width": 400, "rendered_height": 206}, null, null, null, null, null, null, {"document_url": "http://www.albertocorrales.com/2018/11/maintaining-assemblyinfo-for-multiple.html", "unformatted_src": "http://3.bp.blogspot.com/-nmUEkNXdwxs/W99ZJC9hJ4I/AAAAAAAAE9s/bLdiy4Wu0DMMnvdLZroKUDsX4mYWWBlCgCK4BGAYYCw/s311/51gP9mXEqWL._SX379_BO1%252C204%252C203%252C200_.jpg", "src": "http://3.bp.blogspot.com/-nmUEkNXdwxs/W99ZJC9hJ4I/AAAAAAAAE9s/bLdiy4Wu0DMMnvdLZroKUDsX4mYWWBlCgCK4BGAYYCw/s311/51gP9mXEqWL._SX379_BO1%252C204%252C203%252C200_.jpg", "formatted_filename": "gP mXEqWL", "alt_text": "Currently reading", "rendered_width": 237, "rendered_height": 311}, null, null, null, null, null, null, null]
When you are developing an application or manly a NuGet package, you might want to keep the same AssemblyInfo for all your packages, which involves updating each project when you want to publish a new version of your package according to the SemVer convention Semantic Versioning 2.0.0 | Semantic Versioning.

In order to make it easier, with the improvements of dotnet core and the new csproj syntax, which I strongly recommend, MSBuild 15 introduced a pretty cool feature: Solution-wide project properties with Directory.Build.props Customize your build - Visual Studio | Microsoft Docs. Basically, this allows you to define certain properties and use them in all your project in a centralised way, so you don't have to update your projects one by one.

All you have to do is create a new text file named Directory.Build.props and place it where you have your solution file. Here is an example of the properties you can use:

<Copyright>Copyright © Fenergo 2018</Copyright>

In addition, you can inherit another funcionalities such as analysers. For example, if you want to use the Stylecop.Analyzers for all your project, you can add a Directory.Build.props like this:

<AdditionalFiles Include="..\StyleCop.json" />
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" />

If you don't have your Directory.Build.props in your root directory, you can import it in the projects which you need it.

<!-- Import parent Directory.build.props -->
<Import Project="../Directory.Build.props" />

<!-- Properties common to all test projects -->
<!-- ... -->

I hope you found this post helpful,


Custom Build MSBuild NuGet



 Introduction When we are developing applications, one of the challenges is to manage several languages. In particular, I am dealing with this matter in a personal project, which is being developed using vue.js. (https://vuejs.org/), so this post is focused on vue.js, but it could be used by other technologies.

In order to maintain your language translations, several aspects are desirable:

Easy to use. For example, if I am writing html, one tag or class should be enough to say that I want to translate a given literal.Easy to maintain. When we are writing code, we don't want to care about translations or sometimes even we are not allowed to choose a particular, maybe because it is a decision of a different department or a professional translator.Available for multiple coding languages. For example, if we are developing with vue.js, we should consider html, javascript or vue files. If we migrate our application to a different technology (like Angular), our translations should work wi…

 The next Visual Studio update (v15.7) will include an improvement in the Visual Studio Test Explorer that will allow us to see the best organized tests. So far we are seeing them like this:

And with the improvement we can see them organized in a hierarchical way, grouped by project, namespace, class and method. This will also facilitate the execution of a set of specific tests (for example if we only want to launch those of a specific class). This is how the explorer test will look in future versions:

Although in Visual Studio the test categories already existed (https://msdn.microsoft.com/en-us/library/dd286683.aspx), it is good news that by default we are grouped together in a much more practical way.

This information is based on the article https://blogs.msdn.microsoft.com/visualstudio/2018/03/21/visual-studio-2017-version-15-7-preview-2/ and since it is not a version in production, you might experience some changes.


 Introduction When we are developing a Xamarin application, one of the important points may be the initialization of the data for our application. To carry this out, there are different options:

Download the data when opening the application for the first timeSave the data in JSON or XML filesPreload a SQLite database
In one of my personal projects I had this situation. In the beginning, we had implemented the first option, load the data when organizing the application. The problem with this approach, the data loading can be quite time consuming and the user experience the first time the application is opened can be quite negative. In the measurements it took at the last hour.
With respect to the second option, load the data of a JSON, it solves the issue of the issue of the heavy load time, and that the JSON is installed as a resource next to the application. The downside of this is that it is not a highly optimized format when making queries and also the size of our APK or IPA will c… Alberto Corrales Garcia
Senior Software Engineer and PhD in Computer Sciences. Passionate about Computer Sciences, Technology and Software Development.
