Quantcast
Channel: MSDN Blogs
Viewing all 12366 articles
Browse latest View live

Announcing spring and summer 2016 Open Specifications’ events!

$
0
0

Announcing our spring and summer 2016 Open Specifications' events!

 

Check out our upcoming events and receive more information on our new website www.interopevents.com

Microsoft Office and Data Platform Interoperability teams present the largest Microsoft open technology event in Asia: DevDays Asia @ Taipei. DevDays Asia @ Taipei is a dynamic event including presentations, interactive workshops, and a hackathon! The event and hackathon will be divided into two tracks: Productivity and Cloud + Data Platform. Productivity will focus on development opportunities within Microsoft Office while Cloud + Data Platform will include developer and business opportunities within product hubs such as SQL Server, Microsoft Azure, Data Platform, and more.

 

The Microsoft HAOkathon (Hackathon + A for Analytical + O for Open), allows developers to use what they learn during to event to build socially beneficial technologies to improve their local communities. The best projects have the chance to win a Surface Pro 4, Visual Studio Enterprise, and more!

 

What: Interop event and Hackathon!

When: April 19-21, 2016

Where: Taipei, Taiwan

Cost: Free

 

 

 

Microsoft Office and Data Platform Interoperability teams are pleased to announce Extend in Paris from May 11-12, 2016. Microsoft will present its latest updates about Office, Machine Learning, Cortana Analytics Suite, Power BI, and SQL Server.

 

Microsoft will decide topics beforehand but let the public choose the context of the content. Microsoft and event startup, La Reserve, let attendees choose the content for an, "experience similar to what one might call crowd conferencing; a participative conference of a new kind where the public is the key player" (Julien Kerihuel, La Reserve founder).

 

Attendees can look forward to presentations from subject matter experts, interactive developer sessions and one-on-one collaborations with Microsoft engineers. Extend 2016 will include evening mixers and social hour with other attendees and Microsoft engineers.

 

What: Interop event where attendees can help curate the content

When: May 11-12, 2016

Where: Paris, France

Who: Developers building solutions that leverage Office, SharePoint, and SQL.

Registration: Contact plugfests@microsoft.com for more information on registering

Cost: Free

 

 Redmond Protocols Plugfest A 5-day Microsoft event centered around Open Specifications, interoperability, and Extensibility. Attendees will learn more about interoperability within Microsoft Office, Exchange, SharePoint, Windows and SQL Server. Attendees have the opportunity to utilize Office testing tools during the Plugfest. SQL will not be testing during the Plugfest and Windows protocol testing will be available the following week at the Windows Interoperability (IO) Lab.

What: Interop event with Office, Windows, and Data Platform and Office test tools available.

When:  June 13-17, 2016

Where: Microsoft headquarters inRedmond, Washington

Who: Developers building solutions that leverage Office, Exchange, SharePoint, Windows, or SQL

Cost: Free

 

Windows Interoperability (IO) Lab The Windows Interoperability (IO) Lab is the opportunity to test your implementation with Microsoft Windows protocol test suites.   During the IO lab you have the opportunity to directly engage with Windows Protocol Support, Test Suite Development, and Windows development team as well as network with other professionals from all over the world.

What: Event for testing with Microsoft Windows protocol test suites

When:  June 20-24, 2016

Where: Microsoft headquarters inRedmond, Washington

Who: File sharing (SMB 2&3), Authentication and AD protocol implementers

Cost: Free

The Redmond Plugfest and Windows Interoperability lab are separate events. You have the option to attend both or one of the events. You can specify which event or events you are attending during registration.

 

See all of the Open Specification events at: www.interopevents.com

 

Questions? Email plugfests@microsoft.com

 

 


Categorizing Driver Risk with Machine Learning

$
0
0

Usage-based insurance, also known as pay as you drive, is a type of automobile insurance whereby the costs of motor insurance are dependent upon type of vehicle used, measured against time, distance, behavior and place.

One important requirement of UBI is the ability to quickly quantify or classify the behavior of drivers based on the telemetry data gathered during their recent drives. Insurance companies need this kind of classification to quickly feed the driving pattern (safe or reckless) through into user’s premiums.

Getting good labeled data is always a challenge, when building a machine learning model for illustrative purposes we have reduced the problem to categorizing drives into one of four risk categories (0-3), representing excellent, good, fair, and high risk drivers. This allows us to use a supervised learning model which is a good fit for this problem.

For an insurance company, this example can be expanded with data they already have to provide a more complex set of risk classes. Insurance companies will keep the history of these drivers, so they could easily define “excellent” or “risky” according to the accident and insurance rates on different drivers.

Want to know more? Check out the work that Ivan Judson has done on GitHub.

Multilingual App Toolkit v4.0 Update 1 is available

$
0
0

Today we released the Multilingual App Toolkit v4.0 update 1 (v4.0.1605.0). This release addresses key issues reported by various customers.

(Very) key performance improvements:

Visual Studio IDE:
When adding translation languages to your project, MAT creates a XLF file and matching target resource files. Most projects would have seen a small delay after clicking ‘’OK’ on the ‘Add translation languages…’ dialog. However, the more source resource files your project has, the worse the impact would be.  WinForms / ASP.Net project use separate RESX file, creating a high potential to see an unusable impact from this issue.

However, unbeknownst to us, the ‘design time build’ was secretly (or not so secretly for some) creating a build for each added resource file. This caused the Visual Studio IDE to appear ‘frozen’ for several seconds to several minutes or more!! Working with the Visual Studio team, we were able to suspend the ‘design time build’ until after all the XLF and resource files were added.

MAT builds:
XLIFF files require validation - which is a very expensive operation. Sometimes it is unavoidable and will directly impact MAT’s performance. I have some good news to report in this area. We found a call to validation that was not providing any additional value. Removing that specific validation had a significant performance improvement in MAT’s build processing time. The improvement will depend on several factors, but our tests indicate most will see a significant improvement from the RTW build times.

Another side-effect was when key files are saved (XAML, Resource, etc.), the ‘design time build’ would start. Depending on the build performance, you would see a delay in the Visual Studio IDE. The combination of the improved build performance and MAT’s build caching logic should provide noticeable improvements in Visual Studio IDE responsiveness when using MAT.

UWP Shared projects:
The ‘Enable selection’ option for Shared Projects (from Windows -> Classic Desktop) was grayed out preventing MAT support for this project type. Support for the project type was added in this update.

C++ DirectX & XAML projects:
C++ DirectX & XAML app (Universal) projects enabled with MAT would not reload. The project modification required by MAT incorrectly placed the MATPrerequisite Target in the ImportGroup node, causing the reload failure.

Xamarin projects fixes:
Xamarin iOS project resource files below the root node were exclude from the file scan logic. This prevented key resources files from being added to the XLF file, resulting in exclusion of resources from the localization workflow.

Xamarin Android projects using value-<screen dp> to manage device screen sizes were reporting “Culture is not supported” during the build. The screen size values was consider a culture value by MAT.

Acknowledgements:
The key improvements in this release would not have been possible without key developers around the world that contacted me to report issues. I want to thank several teams that contact me, and especially for those that installed private drops and tested the proposed fixes in their environments. Without this level of community support, the team MAT would not be able to provide targeted fixed that solve your real-world issues.

I’m specifically thankful to the team from 1Password by AgileBits Inc. (Twitter) for running multiple private builds at all hours of the day and night to verify key performance fixes in their environment. (And for the suggestions I did not have time to implemented yet.)

Changes and bug fixes:
As always, the complete list of the changes in this as well as previous releases are available on MAT’s User Voice site: Here is a direct link: http://multilingualapptoolkit.uservoice.com/knowledgebase/articles/460620

Thank you,
The Multilingual App Toolkit team
multilingual@microsoft.com
User voice site: http://aka.ms/matvoice

Troubleshooting SharePoint Remote Event Receiver

$
0
0

Recently I have worked with customer on SharePoint Remote Event Reciever (RER) issue. The app is keep trying to install and throwing error in few seconds. Customer has hooked the App Installed event. The provider hosted app has been configured in different server (it does not matter).

Though Customer has already added custom logging mechanism in “publicSPRemoteEventResult ProcessEvent(SPRemoteEventProperties properties)” nothing has been generated, Which gave me the clue that it is failing well before.

1. Analyzed the ULS log and make sure the call to RER service has been triggered

2. Analyzed the IIS log file on RER server and found that IIS   is getting a hit from SharePoint and calls to Services/AppEventReceiver.svc is recorded

 3. Then to get more info, enabled the FREB log to trace the WCF calls for status code 100-600. (Seehow to enable FREB here).
 

4. Going thru FREB log, As expected it has failed in IIS pipe line

5. Navigated to “Compact View” in FREB xml file and Looked at GENERAL_REQUEST_ENTITY & “GENERAL_RESPONSE_ENTITY_BUFFER” event which recorded the Request SOAP from SharePoint and Response SOAP from RER

6. Since “includeExceptionDetailInFaults” has not been enabled on RER side, it is showing “The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the &lt;serviceDebug&gt; configuration behavior) on the server in order
to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs"

7. Injected the below highlighted xml block to web.config of RER and tried to install the app again.

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <!--Used by app for SharePoint-->
        <binding name="secureBinding">
          <security mode="Transport" />
        </binding>
      </basicHttpBinding>
    </bindings>
    <protocolMapping>
      <add binding="basicHttpBinding" scheme="https" bindingConfiguration="secureBinding"/>
    </protocolMapping>
   <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
</system.serviceModel>

 

 

 

8. It has now included the exception stack trace with where it is failing

9. Fixed the issue.

 

 

[Sample Of Mar. 04] How to insert picture into Picture Content control in Word using Open XML

$
0
0
Mar. 4 Sample : https://code.msdn.microsoft.com/How-to-insert-picture-into-86626dc5 This sample inserts/replaces a picture into a picture content control in word document using OpenXML SDK. You can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension . They give you the flexibility to search samples, download samples on demand, manage...(read more)

Investigating issues with Release Management under Visual Studio Team Services - 03/04 - Resolved

$
0
0

 

Final Update: Friday, 04 March 2016 07:10 UTC

We've confirmed that all systems are back to normal as of 04 March 2016 06:26 UTC. Customers in South Central U.S should no longer see any issues with Release Management service.

We understand that customers rely on VS Team Services as a critical service and apologize for any impact this incident caused.

 Sincerely,
Veeranjaneya.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Initial Update: Friday, 04 March 2016 05:07 UTC

We are actively investigating issues with Release Management in South Central U.S region. All Customers in South Central U.S region  will not be able to use Release Management service.

We are working to resolve this issue and apologize for any inconvenience caused.

Sincerely,
Veeranjaneya.

 

Surface 3 向け最新ファームウェア・ドライバーの公開について (2016/1 - 2 月分)

$
0
0

充電・ゴースト タッチなどの問題を改善する最新ファームウェア・ドライバーを公開しました

 

こんにちは。 Surface 法人向けサポート担当です。

 

当社では、1 月中旬から 2 月末にかけ、Surface 3 の最新版ファームウェア・ドライバーを公開しました。

WIndows Update にて、米国時間 1/19 , 1/29, 2/4 の 3 回に分けて公開するとともに、 2 月末にダウンロード センターでのパッケージの公開も開始しております。

 

今回の更新は、複数の問題を修正する大規模なアップデートとなっており、主に以下の点を修正する内容になります。

 

  • AC アダプターに接続した際、「電源に接続:充電していません」と表示され充電されない場合がある
  • 画面タッチの誤検知(ゴースト タッチまたはファントム タッチ)が発生する
  • 5  GHz 帯の無線 LAN が遅くなったり接続できなくなる
  • タイプ カバーが認識されなくなることがある
  • Windows 8.1 にて外部ディスプレイに出力時に、表示がブラックアウトしてしまう
  • スリープ中にバッテリを 消費している
  • 本体から砂嵐のような異音が発生する

 

詳細な更新内容は、以下の更新履歴ページにて公開しております。

(現時点では英語版のみとなり、日本語版の更新履歴ページは準備中です。)

 

Surface 3 update history

https://www.microsoft.com/surface/en-us/support/install-update-activate/surface-3-update-history?os=windows-10

 

Surface 3 にて問題が発生している場合、まず、最新版のファームウェア・ドライバーに更新いただき、改善するかをご確認ください。

 

 

最新版ファームウェア・ドライバーの適用方法

 

更新プログラムを適用する方法は、 "Windows Update" による方法と、当社ダウンロード センターからファームウェア・ドライバー パッケージをダウンロードしてインストールする方法があります。

通常は Windows Update を、手動で適用したい場合や社内で WSUS をご利用の場合はダウンロード センターをご利用ください。

 

Windows Update での適用方法

 

Windows Update では、現在「システム ファームウェアの更新 - 2016/02/04」という名称で配信されております。こちらを適用ください。

(更新は累積的であり、上記のプログラムで過去のすべての更新を適用可能です)

 

 

ダウンロード センターからダウンロードしたパッケージの適用方法

 

当社ダウンロード センターのページは、以下のものになります。

<Wi-Fi 版>

Surface 3 Wi-Fi

<LTE 版>

Surface 3 LTE - Outside of North America and Y!mobile in Japan

 

 

---- 最新のファームウェア・ドライバー パックの適用方法

 

電源に接続し、バッテリ残量が 40% 以上ある状態にて実施します。

 

1. 上記ダウンロード センターから、ご利用の Windows  のバージョンに応じ、以下の名称のファイルをダウンロードします。

(1603 版が現時点での最新版になります)

 

<Wi-Fi 版>

Surface3_WiFi_Win10_160300_1.msi

Surface3_WiFi_Win8x_160300_2.msi

<LTE 版>

Surface3_4GLTE-RestOfTheWorld_Win10_160300_1.msi

Surface3_4GLTE-RestOfTheWorld_Win8x_160300_2.msi

 

2. ダウンロードしたファイルをSurface上でダブルクリックして起動します。

 

3. Surface Platform Installer が起動しますので、指示に従ってインストールします。

 

4. 日本語で再起動を促すメッセージが表示された場合はスキップし、英語で再起動を促すメッセージが表示された際に再起動を選択します。

 

5. Surface が再起動し、ファームウェア更新プログラムが UEFI に書き込まれます。

(すでに最新版が適用済みの場合は、書き込みは行われません)

 

適用が成功したかは、以下の手順にて確認できます。

 

1. Win + R キーで [ファイル名を指定して実行] を開き、 msinfo32 と入力し、[システム情報] を起動します。

 

2. 右欄の [BIOS バージョン / 日付] にて、バージョンが  1.51116.78.0 となっていることを確認します。

Анонс интенсивного мастер-класса по ASP.NET Core в рамках конференции Microsoft DevCon 2016

$
0
0
С удовольствием анонсирую проведение интенсивного мастер-класса (интенсива) по теме ASP.NET Core в рамках конференции Microsoft DevCon 2016 , которая пройдет 25-26 мая в Подмосковье. Интенсивные мастер-классы – это новый формат на конференции, который предложит участникам в течение целого дня глубокое погружение в определенную тему с обязательным практическим участием. Мы очень рады анонсировать докладчиков и организаторов интенсива по ASP.NET: Джон Гэллоуэй - старший технологический евангелист,...(read more)

fsharpConf 2016 — прямая трансляция виртуальной конференции по F#

$
0
0


Всем привет! Сегодня, 4 марта, состоится виртуальная конференция fsharpConf 2016, посвященная F# и связанным технологиям и инструментам.

Начало трансляции— в 19:30 (по Москве).


Программа (время по Москве):
  • 19:30 Welcome to fsharpConf, Don Syme and Tomas Petricek
  • 20:00 The F#orce Awakens, Evelina Gabasova
  • 20:15 Patterns and Practices for Real-World Event-Driven Microservices, Rachel Reese
  • 21:30 DEMO: Fun and Games with F#, Sean Trelford with Phil Trelford
  • 22:00 The 3D Geometry of Louvre Abu Dhabi, Goswin Rothenthal
  • 22:45 Types + Properties = Software, Mark Seemann
  • 23:30 DEMO: Ionide & Cross-platform F# Tools, Krzysztof Cieślak
  • 0:00 F# Microservices with Logging, Tracing and More on Docker, Henrik Feldt
  • 0:45 Web UI Automation with F# and canopy, Chris Holt
  • 1:30 INTERVIEW: Using F# at Jet.com, Rachel Reese
  • 2:00 Android Watch Gesture Recognition with Functional State Machines, Faisal Waris
  • 2:45 Cassandra, Docker and F# Awesomeness, Alena Hall
  • 3:30 INTERVIEW: F# Community in Japan, Yukitoshi Suzuki
  • 4:00 A Boardgame Night with Geeks, Felienne Hermans
  • 4:45 Q&A with the F# Team and Community, David Stephens and Tomas Petricek
После окончания конференции записи будут доступны на странице конференции в Channel 9.

How to kick-start programming, when you know nothing?

$
0
0

As an evangelist for Microsoft, I often get chance to interact with students from different parts of India. It’s always quite inspiring to meet these youngsters who are full of energy and desire to change this world for good.

During my recent trip to Narsee Monjee Institute of Management Sciences, I gave a day-long session on C# and Object Oriented Programming. After the session ended, one of the students hesitantly shared his dilemma with me. He talked about his insecurities and fear of programming and how difficult it is for him to catch up with some of his friends who have been programming since the first day of their college.

Rather frequently, I have started getting this question again and again from these future leaders about programming and the starting point to enter into this amazing world of coding.

I am writing this blog post to share my views regarding – How to be a kick-start programming, when you know nothing? I have tried my best to make it as generic as possible but still I am adding a disclaimer that every individual is different. You may or may not agree with my views.

All right! So let’s start our journey –

Firstly, about where to start, I would say in this connected world, we have innumerable resources available at our disposable just a click away.

Try to start learning about technology as if you are in kindergarten. Remember, those amazing days when there was no pressure and you enjoyed solving puzzles by making words.

Start small with no fears – Take any programming language and just start reading about it. Understand it and go slow.

There are some amazing resources and websites available like Code.org– which is pretty commendable as it gives you a feeling of accomplishment through its gamified system for completing programs on browser based system.

My favorite portal is Codeacademy.com due to availability of a large number of courses and pretty active forums to clear my queries.

Dilemma Stage after a week: Just by coding on these portals for 6-7 days, you can’t expect overnight success or achieve the “THE CODER” tag in your community and college. It takes lots and lots of effort initially to learn programming.

I really like this learning curve: 

I would suggest reading at least one book every month so as to understand the nitty-gritties of your preferred platform or language.

Start with something simple like “Let us C by Yashwant Kanitkar” and then move ahead slowly to slightly complex books. You can easily find multiple books according to your interest and technical aptitude.

Now, once you get a hang of the basics of your preferred programming language, it’s time to actually start building a solution. It can be anything – a calculator app, a chat bot, a small website based on RSS feed, solving problems on competitive programming websites or literally anything.

As long as you are applying your learnings in building something – You are on your way to become an expert.

Take help of various video tutorials and courses available online to give you a kick-start in actually building a solution.

I personally love MVA aka Microsoft Virtual Academy (I know its shameless self-promotion, but still, its literally the best). With more than 500 courses along with accessibility to download all the resources without paying a cent makes it my go-to portal for  technical learnings.

Pluralsight is another amazing portal with more than 4000 courses and detailed assessments. I have done a lot of courses on it for web platform BUT Its paid – tsk tsk L.

Attention MSDN Subscribers: There is a good news for you! MSDN Subscribers get Pluralsight membership free for 6 months and also amazing discounts and offers for extending it.

Here’s a list of resources which I really like:

  • Code.org
  • Code Academy
  • Code School
  • Pluralsight’s Programming for Kids
  • Head First Books
  • Khan Academy
  • Hour of Code
  • New Boston Videos on Youtube

I would conclude with this statement that – Programming requires patience, willingness to learn and positive mindset to excel. No good thing has even been done overnight except scoring 40 marks during engineering in just one night ;)

So, until next time – Rise and Shine.

I look forward to know more about your journey on “How you entered into programming world” and any other related information.

Feel free to comment, rate or tweet me at www.twitter.com/NowayHeCodes :-)


 

Sharing data between users of a Universal App

$
0
0

 

How to use:

  • Enable the policy e.g. by creating a REG_DWORD value called AllowSharedLocalAppData under HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\AppModel\StateManager and set it to 1.
  • You can now run code similar to the following to access a shared file:

StorageFolder folder = ApplicationData.Current.SharedLocalFolder;

StorageFile file = await folder.CreateFileAsync("Test.txt");

awaitFileIO.WriteTextAsync(file, "Hello world!");

 

  • This code will create a file called Test.txt under C:\ProgramData\Microsoft\Windows\AppRepository\Families\<PACKAGE NAME>\SharedLocal\.

Office 365 Education Event with Coretek

$
0
0

Last week, Microsoft, in partnership with Coretek, welcomed nine schools from the Hampshire area to the Microsoft UK Headquarters in Reading for an Office 365 in Education event.

This event brought together a partner, teachers and students with the purpose of showing students how they can make the most of Office 365. We focused on how teachers can enhance student's learning through Office features such as the OneNote Class Notebook, and the wealth of training resources available on the Microsoft Educator Community.

image

 

The day began with a talk from one of our education account executives, Richard Green, introducing what Office 365 Pro Plus Benefit is and what the key features are. It is interesting to see how many schools have the free benefit, but don’t know about the key features, for example, every student and teacher can download and install Office 365 on a number of different devices, at no cost to the individual.

Check your school's eligibility and download the latest version of Office now

Following this, our STEM lead Stuart Ball gave a hugely engaging talk on all the cool things you can do with Office, and more specifically the Office Mix add-on for PowerPoint that allows students and teachers to bring their presentations to live. His presentation focused on the ways you can build games in PowerPoint, create sounds add record their own audio and video commentary, all of which highly engaged the students and teachers alike.

 

image

 

While the morning consisted of informative talks about how to make the most out of your Office 365 package, the afternoon was full of interactive workshops, with different tasks for the teachers and students. The students were tasked with a 'pitch perfect' project. They had to create a one minute elevator pitch which they can use when they go back to school with the purpose of encouraging their peers to download Office 365. However, the challenge was that they were only allowed to use five slides, one word per slide, and each word can only begin with the letter 'S'. With this challenge in mind, the students set to work, as there was a huge prize up for grabs; a Microsoft and Coretek hosted Hackathon at their school!

At the same time, we conducted a CPD workshop with the teachers, focusing on the new Microsoft Educator Community. The site has a wealth of resources to support training and professional development which allows educators to stay current with the right mix of student-focused technology, experiential learning, and virtual collaboration to help students learn and develop. The feedback from this session was very interesting; we were showing the teachers all the key features that they can use on Office to enhance their teaching (Office Mix, Sway, OneNote), and although many were not fully familiar with these programmes, they now know where they can find training material and lesson plans on MEC as well as connect with each other, and more teachers around the world.

After exciting the students and teachers with a tour of the Microsoft campus, the day came to a close with the students presenting back their Office 365 pitches. This was a real test of teamwork and time management skills for the young students, and our team from Coretek who judged the competition were very impressed with all the teams that took part.

Due to the originality of their presentation and the great collaboration demonstrated by the group, Coretek awarded Wellow Primary School as the winners of the Pitch Perfect challenge. They have won the coveted prize of a Microsoft and Coretek hosted hackathon at their school.

image

Overall, we had some fantastic feedback from the event. All the students and teachers that attended went away with a greater understanding of the extra programmes and features that they can use in Office 365 to enhance their learning, how they can work together and collaborate, and for teachers, how they can create more engaging content and enhance students' learning. What's more, many teachers didn't realise how easy it was to find support on these programmes. Coretek will support all of these schools following the event, though there is also a constant community of support on the Microsoft Educator Community.

To download Office 365 for free, click here.

Tutoriel : Premiers pas de développeur avec Docker, Azure et Visual Studio 3/3

$
0
0

Dans la partie 2 de ce tutoriel, nous avons déployé une application console ASP.Net 5 dans un conteneur linux sur Azure. Pour réaliser cela, il nous fallait une VM linux avec l’agent Docker, que nous avons créé depuis le portail Azure.

Cette fois, nous allons déployer la même application mais dans un conteneur Windows, tout cela – de la création de la VM au déploiement de l’app - directement depuis Visual Studio.

Il faudra prendre quelques précautions dans le projet Visual Studio, pour bien dissocier les paramètres spécifiques à la cible du déploiement linux/windows: nous verrons cela en temps voulu dans la suite de l’article.

Voici les grandes étapes de ce tutoriel:

  • Créer la VM supportant les conteneurs Windows, depuis Visual Studio
  • Retrouver la VM sur le portail Azure (ce n’est pas nécessaire, mais ça peut toujours servir !)
  • Déployer l’application (et constater que le déploiement échoue)
  • Modifier le fichier dockerfile
  • Déployer l’application à nouveau
  • Et si chez moi ça ne marche pas ?

 

Entre temps, une nouvelle version du package des outils Docker pour Visual Studio est sortie. N’hésitez pas à la mettre à jour avec la dernière en date si besoin. (voir la partie 2 de ce tutoriel pour les détails d’installation)

clip_image001[4]

Créer la VM supportant les conteneurs Windows, depuis Visual Studio

Placez-vous dans Visual Studio, sur votre projet

clip_image002[4]

Cliquez sur le bouton droit et sélectionnez “Publish”

clip_image003[4]

Après avoir sélectionné “Docker Containers”, cliquez sur le bouton “New”

clip_image004[4]

Remplissez les champs, avec notamment l’image de l’OS qui sera Windows Server 2016 Technical Preview with Containers.

clip_image005[4]

Les certificats Docker seront générés automatiquement si besoin, dans le répertoire .docker du profil de l’utilisateur.

Lorsque vous validez, le script PowerShell suivant est lancé.

Deploy-DockerAzureResourceGroup.ps1' -ResourceGroupName 'stephetutodockerwin' -ResourceGroupLocation 'westeurope' -TemplateFile 'C:\stepheWin8\Projets\DockerConsoleApp\PublishScripts\Templates\DockerConsoleAppDockerVM.json' -TemplateParametersFile 'C:\stepheWin8\Projets\DockerConsoleApp\PublishScripts\Templates\DockerConsoleAppDockerVM.param.dev.json' -DockerCertsDirectory 'C:\Users\stephe\.docker' -AdminPassword 'XXXXXX'

Il utilise un template ARM nommé DockerConsoleAppDockerVM.json que vous retrouverez dans votre projet, tout comme le script PowerShell d’ailleurs:

clip_image006[4]

Retrouver la VM sur le portail Azure

Si vous jetez un œil à votre portail Azure, vous verrez que la VM (de type ARM : Azure Resource Manager qui est le nouveau modèle de VM) est en cours en provisionnement

clip_image007[4]

Si tout se passe bien, VS vous prévient dans la fenêtre d’Output que le déploiement du template s’est bien passé.

clip_image008[4]

Déployer l’application

Refaites un clic droit sur le projet pour déployer à nouveau le projet

clip_image009[4]

Si vous cliquez sur “Validate Connection”, vous verrez apparaitre le petit icône check vert qui indique que la connexion au Docker host a réussi.

Cliquez maintenant sur le bouton “Publish” : aïe, le déploiement se passe mal’

clip_image010[4]

Impossible de trouver l’image docker/aspnet ? Je parie que vous voyez où je veux en venir.

Modifier le fichier dockerfile

En effet, le fichier dockerfile présent dans notre projet est resté le même depuis le déploiement sous linux. Or les images docker permettant de faire tourner l’application sur Windows sont différentes. Pour rappel, notre dockerfile part de l’image microsoft/aspnet qui se base sur Mono. Vous trouverez plus de détails sur le sujet dans le 2ème volet de cet article.

Visual Studio est capable de générer le dockerfile qui va bien en fonction de la cible du déploiement, mais pour cela, le fichier ne doit pas encore exister. Donc nous allons renommer le .dockerfile existant en .dockerfile.linux:

clip_image011[4]

Redéployer l’application

On relance le déploiement et on remarque que VS nous informe qu’il va regénérer le fichier puisqu’il mentionne “autogenerate” (c’est grisé, il faut de bons yeux !)

clip_image013[4]

Remarquez que le Dockerfile contient maintenant:

FROM windowsservercore
ADD . /app
WORKDIR /app/approot
ENTRYPOINT DockerConsoleApp.cmd

Cette fois on part de WindowsServerCore qui correspond à l’image d’un conteneur de  Windows Server 2016 (Tech preview).

Au démarrage du conteneur, c’est le paramètre ENTRYPOINT qui sera utilisé pour démarrer l’application, à savoir le fichier de commande DockerConsoleApp.cmd.

Vous trouverez ce fichier dans un répertoire temporaire du profil de l’utilisateur : C:\Users\stephe\AppData\Local\Temp\PublishTemp\DockerConsoleApp82\approot

Si vous mettez le compilateur en mode verbose dans Visual Studio

clip_image014[4]

Vous verrez apparaître le chemin utilisé pour la génération du package de déploiement et du .cmd (Menu Tools/Options):

clip_image015[4]

Voici son contenu:

@echo off
SET DNX_FOLDER=dnx-coreclr-win-x64.1.0.0-rc1-final
SET "LOCAL_DNX=%~dp0runtimes\%DNX_FOLDER%\bin\dnx.exe"
IF EXIST %LOCAL_DNX% (
  SET "DNX_PATH=%LOCAL_DNX%"
)
for %%a in (%DNX_HOME%) do (
    IF EXIST %%a\runtimes\%DNX_FOLDER%\bin\dnx.exe (
        SET "HOME_DNX=%%a\runtimes\%DNX_FOLDER%\bin\dnx.exe"
        goto :continue
    )
)

:continue
IF "%HOME_DNX%" NEQ "" (
  SET "DNX_PATH=%HOME_DNX%"
)
IF "%DNX_PATH%" == "" (
  SET "DNX_PATH=dnx.exe"
)
@"%DNX_PATH%" --project "%~dp0src\DockerConsoleApp" --configuration Debug DockerConsoleApp %*

On voit que l’on utilise en fait dnx.exe qui est le host natif capable de prendre en charge l’exécution notre application console. Pour comprendre comment cela fonctionne, je vous suggère la lecture suivante, et notamment l’architecture ci-dessous:

clip_image016[4]

Une fois le déploiement terminé, Visual Studio vous indique comment accéder à l’output de l’application:

clip_image017[4]

Si vous copiez-collez cette ligne de commande dans un prompt, vous devriez voir le résultat suivant:

clip_image018

Et voilà….

Pour terminer, il vous suffit de renommer le dockerfile en dockerfile.Windows et de bien spécifier celui-ci dans le boite de dialogue servant au déploiement de l’application sur Windows. Il faudra faire de même avec le profil permettant de déployer sur Linux.

AmpouleVisual Studio est aussi capable de suffixer le dockerfile tout seul lorsqu’il le génère : notamment si vous avez déjà un autre dockerfile suffixé dans votre projet : dans mon cas, à la génération du dockerfile, il l’a directement nommé dockerfile.Windows !

Et si chez moi ça marche pas ?

Si vous rencontrez ce genre de souci lors du déploiement de l’application:

clip_image020

Cela signifie qu’il vous manque certaines versions du runtime sur votre machine cliente. Pour les installer, il vous suffit d’utiliser l’outil dnvm en ligne de commande:

Pour voir les runtimes installés :

> dnvm –list

Pour installer dnx-coreclr version 1.0.0-rc1-final pour Windows avec l’architecture x64:

> dnvm install 1.0.0-rc1-final –r coreclr –arch x64

clip_image021

Veillez également à installer les dernières versions du SDK Azure et des outils Web pour Visual Studio, accessibles via le menu “Tools/Extensions & Updates”

clip_image022

Et après ?

Nous venons de découvrir comment déployer une application dans un conteneur Linux ou Windows, sur Azure, ce qui vous a permis de comprendre comment fonctionne Docker et comment il s’interface avec Azure et les outils de développement..

Mais se pose rapidement la question de la scalabilité et de l’orchestration, nécessaires dans la vraie vie c’est à dire dans un contexte de mise en production. Pour cela, il existe Azure Container Service qui est un service de plus haut niveau, qui vous permettra notamment de piloter des clusters, à travers des technologies comme Swarm ou Mesos.

N’hésitez pas à suivre les explications et le tutoriel de Julien Create a Docker Swarm cluster using Azure Container Service.

Validate XML with rich error output in the XML Task

$
0
0

 

Validate XML documents and get rich error output by enabling the ValidationDetails property of the XML Task. For more info, see Validate XML with the XML Task in the SSIS documentation.

SQL Server Integration Services (SSIS) introduced the ValidationDetails property in SQL Server 2012 Service Pack 2 in July of 2014. This new property was not announced or documented at the time of its original release. The property is also available in SQL Server 2014 and in SQL Server 2016.

The following screen shot shows the XML Task Editor with the settings required for XML validation with rich error output.

 

Before the ValidationDetails property was available, XML validation by the XML Task returned only a true or false result, with no information about errors or their locations. Now, when you set ValidationDetails to True, the output file contains detailed information about every error including the line number and the position. You can use this information to understand, locate, and fix errors in XML documents.

The XML validation functionality scales easily for large XML documents and large numbers of errors. Since the output file itself is in XML format, you can query and analyze the output. For example, if the output contains a large number of errors, you can group the errors by using a Transact-SQL query, as described in this topic.

 

 

Sample output for XML that's valid

Here is a sample output file with validation results for a valid XML file.

<?xml version="1.0" encoding="utf-8"?>

<root xmlns:ns="http://schemas.microsoft.com/xmltools/2002/xmlvalidation">

       <metadata>

              <result>true</result>

              <errors>0</errors>

              <warnings>0</warnings>

              <startTime>2015-05-28T10:27:22.087</startTime>

              <endTime>2015-05-28T10:29:07.007</endTime>

              <xmlFile>d:\Temp\TestData.xml</xmlFile>

              <xsdFile>d:\Temp\TestSchema.xsd</xsdFile>

       </metadata>

       <messages />

</root>

Sample output for XML that's not valid

Here is a sample output file with validation results for an XML file that contains a small number of errors. The text of the <error> elements has been wrapped for readability.

 

<?xml version="1.0" encoding="utf-8"?>

<root xmlns:ns="http://schemas.microsoft.com/xmltools/2002/xmlvalidation">

       <metadata>

              <result>false</result>

              <errors>2</errors>

              <warnings>0</warnings>

              <startTime>2015-05-28T10:45:09.538</startTime>

              <endTime>2015-05-28T10:45:09.558</endTime>

              <xmlFile>C:\Temp\TestData.xml</xmlFile>

              <xsdFile>C:\Temp\TestSchema.xsd</xsdFile>

       </metadata>

       <messages>

              <error line="5" position="26">The 'ApplicantRole' element is invalid - The value 'wer3' is invalid

    according to its datatype 'ApplicantRoleType' - The Enumeration constraint failed.</error>

              <error line="16" position="28">The 'Phone' element is invalid - The value 'we3056666666' is invalid

     according to its datatype 'phone' - The Pattern constraint failed.</error>

       </messages>

</root>

Analyze XML validation output with a Transact-SQL query

If the output of XML validation contains a large number of errors, you can use a Transact-SQL query to load the output in SQL Server Management Studio. Then you can analyze the error list with all the capabilities of the T-SQL language including WHERE, GROUP BY, ORDER BY, JOIN, and so forth.

DECLARE @xml XML;

 

SELECT @xml = XmlDoc  

FROM OPENROWSET (BULK N'C:\Temp\XMLValidation_2016-02-212T10-41-00.xml', SINGLE_BLOB) AS Tab(XmlDoc);

 

-- Query # 1, flat list of errors

-- convert to relational/rectangular

;WITH XMLNAMESPACES ('http://schemas.microsoft.com/xmltools/2002/xmlvalidation' AS ns), rs AS

(

SELECT col.value('@line','INT') AS line

     , col.value('@position','INT') AS position

     , col.value('.','VARCHAR(1024)') AS error

FROM @XML.nodes('/root/messages/error') AS tab(col)

)

SELECT * FROM rs;

-- WHERE error LIKE ‘%whatever_string%’

 

 

-- Query # 2, count of errors grouped by the error message

-- convert to relational/rectangular

;WITH XMLNAMESPACES ('http://schemas.microsoft.com/xmltools/2002/xmlvalidation' AS ns), rs AS

(

SELECT col.value('@line','INT') AS line

     , col.value('@position','INT') AS position

     , col.value('.','VARCHAR(1024)') AS error

FROM @XML.nodes('/root/messages/error') AS tab(col)

)

SELECT COALESCE(error,'Total # of errors:') AS [error], COUNT(*) AS [counter]

FROM rs

GROUP BY GROUPING SETS ((error), ())

ORDER BY 2 DESC, COALESCE(error, 'Z');

 

Here is the result in Management Studio of the second sample query shown in the preceding text.

 

See Also

XML Task

XML Task Editor

これは日本のWPの新たなる一ページ:Windows 10 Mobile Insider Preview Build 10586.122

$
0
0

#wpjp #wpdev_jp #w10mjp

下記Blogの(高橋忍のフレーバーを含めた)意訳です。

Announcing Windows 10 Mobile Insider Preview Build 10586.122

3/2にWindows 10 Mobile Insider Preview Build 10586.122 をSlow とRelease Preview リング向けにリリースしました。このInsider Preview 引き続き Windows 10 Mobile のデバイスからのフィードバックをいただくことを目的にリリースしています。さて、今回このInsider Preview の対象デバイスとして4つのデバイスを追加したことをご報告します。

  • MCJ Madosma Q501
  • BLU Win HD W510U
  • BLU Win HD LTE X150Q
  • ALCATEL ONETOUCH Fierce XL.

開発中の Fast Ring 用の更新はまだリリースできないため、一時的にこのビルドを Slow および Release Preview リングに対してリリースしています。

もし Windows Insider に既に登録されている方で更新についてのテストにご協力いただけるのであれば、Windows Device Recovery Toolを使っていったん WIndows Phone 8.1 に戻していただいたうえで、ストアから Windows Insider appをダウンロード・実行してSlow ないし Release Preview リングに参加していただければ、更新からこの 10586.122 を取得することができます。アップグレード中もしくはアップグレード後に何か問題があればぜひフィードバックをお寄せください。品質向上のためにご協力いただけることに感謝します。

今回のリリースでの修正・更新

  • Continuum における漢字入力の改善
  • 縦画面ビデオでのサムネールが現れるまでの時間を改善
  • テザリング(インターネット共有)でのモバイルネットワークの洗濯を改善
  • Edge でいくつかのサイトでワードフロー入力を受け付けない問題を修正
  • Edgeで全ての開いているタブを閉じる機能を修正
  • OOBE経由でMSAを追加するさいに落ちて、そのご再追加ができない問題を修正
  • WiFi 接続時のメールの同期の仕様を改善
  • Dusal SIM デバイスでの接続プロファイルのデータを改善
  • バッテリー消費量改善のためバックグラウンドタスクについていくつか更新
  • SDメモリーカードに保存するビデオの品質を改善
  • いくつかのケースにおける録画時の音声について改善
  • スタート画面、アプリケーション更新、フィードバックアプリについてのOSの信頼性を向上
  • アラームの信頼性を向上

皆様からのフィードバックをお待ちしています。


Async printing helper for Universal Apps

$
0
0
  • Printing data can be a complex task.
  • The printing API for Universal Apps is event-based and does not support async/await.
  • This helper wraps the printing API so that it can be used to print collections of data (e.g. list of customers) in a simple way. It is slightly similar to the Silverlight API (PrintDocument).

 

The code can be found here:

https://github.com/luiscantero/PrintHelper

Windows Platform Developer Updates Feb 2016

$
0
0

 

Windows 10 version 1511 is here, the first major update to Windows 10 since release in the summer. And it brings a number of exciting new features, such as the release of Windows 10 for Mobile, bringing Windows 10 to phone devices, including new phones supporting the amazing Continuum for Mobile where your phone can run apps on a connected screen such as a TV or monitor, and you can connect up a mouse and keyboard to give a PC-like computing experience all from your phone! There is also Microsoft Passport and Windows Hello, replacing passwords for logon with biometrics such as face, iris or fingerprint recognition. And for enterprises, there's also the release of the Windows Store for Business, a great new way to distribute apps to your company users.

For developers, there's a new SDK, Version 10586 which comes as a part of Visual Studio 2015 Update 1. Using the updated SDK and tools, you can build apps to take advantage of these new Windows 10 features.

Developers' Guide to Windows 10 videos where Andy and Shen give you everything you need to know in order to build compelling application experiences on Windows 10.

Developers Guide Updated 1511 http://aka.ms/dev1511

Visual Studio Tooling

Visual Studio Update 1 - https://www.visualstudio.com/en-us/news/vs2015-update1-vs.aspx 

New SDK Features

Windows.UI.Composition -- Provides APIs for user interface composition.
https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.composition.aspx 
OpenSource Gihub https://github.com/Microsoft/composition 

Windows.Devices.Perception - Provides classes for handling image frames from colour cameras, depth sensors, and infrared cameras.
https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.perception.aspx

New design templates (http://aka.ms/windesign)

PowerPoint templates

This deck has everything you need to quickly mock up wireframes for UWP apps, including controls and layouts.

PowerPoint templates

Adobe Illustrator templates

These Adobe Illustrator templates provide controls and layouts for designing UWP apps.

Adobe Illustrator templates

Adobe Photoshop templates

Controls and layouts for designing UWP apps in Adobe Photoshop.

Adobe Photoshop templates

UWP app design PDF

Get all of our design guidance as a PDF for easy viewing.

UWP app design PDF

 

Get a Windows 10 development environment

Start your Universal Windows Platform development quickly using an evaluation virtual machine.

Try out the Windows 10 development environment without spending the time it would normally take to set up and configure a device for development or test use. Run this VM on your current Mac or PC for a 60-day evaluation of the Universal Windows Platform tools and technologies to accelerate bringing your existing code to Windows.

We’ve provided a Windows 10 development environment in a number of different virtual machine implementations- matched to the latest release and ready to go.

Download a virtual machine (Build 201602)

Choose your virtual machine implementation of choice to begin developing with Windows 10.

VMWare
Hyper-V
VirtualBox
Parallels

These installs contain:

Want to try Windows 10 we now have Evaluation VMs http://aka.ms/winvms

Windows Store for Business

image

Store management for organisations

Make volume purchases from the Windows Store

Distribute apps to employees

Create a private store (mix Store and private LOB apps)

Assign apps

Use MDM to distribute apps

Offline licensing

Manage licenses (assign / reclaim / re-use)

Publishers can create LOB apps for specific organisation

For more details see http://aka.ms/winbus

Developer Center Updates

Dev Center Multi-user + Role support

•Add additional users to your Dev Center account

All based around AAD identities

image

Dev Center Accounts still created with an MSA (owner)

MSA is required for app <-> Store association in Visual Studio

 

New Single age rating system for app submissions with IARC system which automatically issues required age ratings for all apps and games based on answers to a short questionnaire https://www.globalratings.com/for-developers.aspx

Windows 10 Momentum

200M PCs, tablets and phones running Win10
Fastest growing Windows
3B+ visits to Store since launch
2x paid transactions this “holiday season” vs last
Win10 customers generate 4.5x more revenue per device than Win8
Games by far most popular category (by DL) – 32%
Monetization IAP (49%), MS Ads (37%), Paid app (14%)

See Store trends at http://aka.ms/trends0216

Experiencing Data Gaps for Multiple Functional Areas - 03/04 - Investigating

$
0
0
Initial Update: Friday, 04 March 2016 15:48 UTC

We are aware of issues within Application Insights and are actively investigating. Some customers may experience Data Gaps. The following data types are affected: Availability,Customer Event,Dependency,Exception,Metric,Page Load,Page View,Performance Counter,Request,Trace.
  • Work Around: None
  • Next Update: Before 03/04 20:00 UTC
We are working hard to resolve this issue and apologize for any inconvenience.
-Ghouse

Microsoft Embracing Open Source

$
0
0

STB13_Ranbir_02 Senior ADM, Brian Keyes spotlights the momentum of Microsoft embracing Open Source software and recommends you to take a moment to peruse the official Microsoft GitHub collection of  repositories.  As of today there are 21 pages of repositories.  Roughly 400 projects.  Included are the source code for the Edge JavaScript engine, the source code for the amazing TypeScript, as well as the source for VS Code.

Check out the full article here.


 Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality.  Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.

Sample: Use OOM in an HTML page to create an email with an attachment and display it using Outlook.

$
0
0

 Some customers use Outlook Object Model in IE.  This example shows how this might be done.  Note that IE security settings need to be opened up in order to make this work.   I wrote the sample below to troubleshoot issues with this type of usage of OOM.

 

To get this page to work you will need to allow active X scripting.  Note that this is considered to be a possible security risk, so its not something I would really recommend doing.

Go to Internet Explorer Options

Choose the Security tab.

Select Local Internet

Select Custom Level

Select ActiveX controls and Plug-Ins

Select Initialize and script ActiveX controls not marked as safe for scripting – set to Enable.

 

Here is a sample page which demonstrates using Outlook from an HTML page:

 

<html>
  <head>
    <script>
        function test()
        {
                       
            var sInfo = "";
            document.getElementById("TestResults").innerHTML = "";
           
            var StartTime = new Date()
            sInfo += "Start:  " + StartTime + "<br>";
           
            try {
                sInfo += "Create Outlook.Application<br>";
                var outlook = new ActiveXObject('Outlook.Application');


                sInfo += "outlook.CreateItem<br>";
                var email = outlook.CreateItem(0);


                sInfo += "email.Recipients.Add<br>";
                email.Recipients.Add('testuser@contoso.com').Type = 1; //1=To

                //subject and attachments
                email.Subject = 'Javascript test';
           
                sInfo += "email.Attachments.Add<br>";
                email.Attachments.Add('http://contoso/documents/wonderful.pdf'); 


                sInfo += "email.Display<br>";
                email.Display();
               
                //email.x();  Uncomment to check handling a failure.
                
            }
            catch (error)
            {
               
                sInfo += "Error(s) found:<br>";
                for (var er in error)
                    sInfo += "Error:  " + er + ": " + error[er] + "<br>";

            }
     
            var EndTime = new Date()
            sInfo += "End:  " + EndTime + "<br>";
           
            document.getElementById("TestResults").innerHTML = sInfo;
    }
    </script>
  </head>
  <body>
    Test OOM in an html page<br>
    --------------- <br>

    <input type="button" onclick="test()" value="Run Test"/>
    <br>
    --------------- <br>
    <p id="TestResults"></p>
    <br>
  </body>
</body> 
</html>

 

 

 

 

 

Viewing all 12366 articles
Browse latest View live