Willy laroche

B10g $ur 13$ t3chn0$ M!cr0$0ft 3t p1u$ $! 4ff!n!té$…


Poster un commentaire

Visual Studio 11 (2012) DP Problème de compilation avec MSBuild.exe sur les application Metro Windows 8

Comme beaucoup de monde, j’ai commencé à tester Visual Studio 1 (2012) Developper Preview sous Windows 8, notamment en créant une application Metro C#.

A la 1ère compilation du projet je me retrouve avec cette erreur:

Error 1 The build stopped unexpectedly because of an internal failure. Microsoft.Build.Exceptions.BuildAbortedException: Build was canceled. Failed to successfully launch or connect to a child MSBuild.exe process. Verify that the MSBuild.exe « C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe » launches successfully, and that it is loading the same microsoft.build.dll that the launching process loaded. If the location seems incorrect, try specifying the correct location in the BuildParameters object, or with the MSBUILD_EXE_PATH environment variable. at Microsoft.Build.BackEnd.NodeProviderOutOfProc.CreateNode(Int32 nodeId, INodePacketFactory factory, NodeConfiguration configuration) at Microsoft.Build.BackEnd.NodeManager.AttemptCreateNode(INodeProvider nodeProvider, NodeConfiguration nodeConfiguration) at Microsoft.Build.BackEnd.NodeManager.CreateNode(NodeConfiguration configuration, NodeAffinity nodeAffinity) at Microsoft.Build.Execution.BuildManager.PerformSchedulingActions(IEnumerable`1 responses) at Microsoft.Build.Execution.BuildManager.HandleNewRequest(Int32 node, BuildRequestBlocker blocker) at Microsoft.Build.Execution.BuildManager.IssueRequestToScheduler(BuildSubmission submission, Boolean allowMainThreadBuild, BuildRequestBlocker blocker) c:\users\willy.laroche\documents\visual studio 11\Projects\GridApplication1\GridApplication1\GridApplication1.csproj GridApplication1

Alors pour le résoudre, Il suffit de rajouter une variable d’environnement système qui est :

MSBUILD_EXE_PATH
c:\windows\microsoft.net\framework\v4.0.30319

Un petit reboot de VS2011 et ça devrait marcher.

Vous pouvez aussi tester la compilation en ligne de commande: (Il faut pointer vers le fichier projet ex: .csproj)

C:\Users\willy.laroche>C:\Windows\microsoft.net\framework\v4.0.30319\MSBuild.exe « CHEMIN_DU_PROJET.csproj »

Bon code…


Poster un commentaire

Windows 8 Testé, Windows 8 approuvé (+VS2011)

Après avoir récupéré et testé Windows 8 sur ces fameuses tablettes fournies par Microsoft, le successeur de Seven nous promet de belles choses.
La version de Windows 8 est disponible librement sur internet si vous souhaitez la tester.

Microsoft nous a annoncé WinRT qui est un ensemble d’API’s:

  • Permettant d’implémenter le design Metro
  • A un modèle de programmation simple pour développeurs Windows
  • Exploitant XAML ou HTML / CSS en UI
  • Avec ses APIs qui sont toutes conçues pour être asynchrones
  • Conçues pour créer des applications Windows Store
  • Est basé sur le format ECMA 335 (idem que .NET)

=> source : http://blogs.developpeur.org/redo/archive/2011/09/16/build-windows-8-quid-du-d-veloppeur-winrt-win32-ou-net.aspx

 

J’ai également pu faire un rapide tour de la version de Visual Studio 2011 qui nous offrira la possibilité de développer sur le socle WinRT (et framework 4.5) … Question nouveautés sur l’IDE, on tend de plus en plus vers une ergonomie à la « Expression Blend »… à suivre…

 


Poster un commentaire

SharePoint 2010 Échec de la validation des données de liste. System.Runtime.InteropServices.COMException (0x810200C6)

Microsoft.SharePoint.SPException: Échec de la validation des données de liste. —> System.Runtime.InteropServices.COMException (0x810200C6): <nativehr>0x810200c6</nativehr><nativestack></nativestack>Échec de la validation des données de liste.

Si cette erreur se produit durant un import de document via l’API SharePoint, il vous faudra supprimer dans le portail la validation sur les colonnes de votre liste et la remettre après votre traitement.

Cette exception est levée sur l’écriture du document dans la liste :

SPFile uploadfile =
 list.RootFolder.Files.Add(Path.GetFileName(filepath), fileBytes, Overwrite);

Voilà.


4 Commentaires

SharePoint 2010 formules de validation de colonnes version FR

SharePoint 2010 permet d’effectuer de la validation sur les colonnes d’une liste.

Cette validation passe par l’écriture d’une formule équivalent aux formules d’Excel.

Dans mon cas je cherchais à reproduire le même environnement d’un client, qui lui était sous SharePoint 2010 Anglais vers une version Française.

La formule initiale permettait de vérifier si sur une colonne personnalisée de la liste de document, la valeur était de type Date (plutôt année).

=IF(AND(ISNUMBER(INT(Year)),INT(Year)<=2999,INT(Year)>=1900),TRUE,FALSE)

Si la valeur ne remplit pas cette condition, un message d’erreur (que l’on peut personnalisé) est affiché.

 

Sur mon environnement FR, j’ai passé pas mal de temps à traduire cette formule

l’équivalent français est donc:

=SI(ET(ESTNUM(ENT(Year));ENT(Year)<=2999;ENT(Year)>=1900);VRAI;FAUX)

 

D’après l’article MSDN http://msdn.microsoft.com/fr-fr/library/bb862071.aspx, ils se sont trompés sur le séparateur de paramètres…

 

Pour résumer:

Séparateur dans les formules SharePoint EN : « , »

Séparateur dans les formules SharePoint FR : « ; »

 


3 Commentaires

C# Manipuler Office avec COM Interop

Suite à plusieurs questions sur le sujet, je me permets d’écrire ce petit bout de code qui servira à ouvrir un fichier Excel (ou autre documents office) avec COM Interop.

Pour info, j’utilise la version 14.0.0.0 de l’assembly : Microsoft.Office.Interop.Excel

C# 4 (.NET 4)

D’après ce que j’ai entendu, il y a des problèmes de compatibilité sur l’utilisation d’Interop avec la version Office 64 bits, prévilégiez donc la version 32bits.

Il vous faudra aussi manipuler ces objets sous la culture « en-US » si vous êtes sur une Culture autre que celle-ci.

Dans mon cas je suis sous la culture « fr-FR ».

Petit exemple :

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("en-US");

Application _excelApp = new Application();
object opt = Type.Missing;

Workbook workBook = null;
Worksheet sheet = null;

try
{
    workBook = _excelApp.Workbooks.Open(thisFileName, opt, opt, opt, opt, opt,
               opt, opt, opt, opt, opt, opt, opt, opt, opt);

    //your process...
}
catch (Exception ex)
{
    throw new Exception(ex.Message);
}
finally
{
    if (workBook != null)
        workBook.Close(opt, opt, opt);

    if (_excelApp != null)
        _excelApp.Quit();

    // Clean unmanaged objects
    if (_excelApp != nullMarshal.FinalReleaseComObject(_excelApp);
    if (workBook != nullMarshal.FinalReleaseComObject(workBook);
    if (sheet != nullMarshal.FinalReleaseComObject(sheet);

    _excelApp = null;
    workBook = null;
    sheet = null;

    GC.Collect();
    GC.WaitForPendingFinalizers();
    GC.Collect();

    Thread.CurrentThread.CurrentCulture = currentCulture;
}

Voilà, le fichier Office Excel est correctement libéré.


Poster un commentaire

Bewise au Mix Las Vegas 2011

Le mix de Las Vegas est l’évènement de l’année pour Microsoft pour annoncer de grandes nouveautés 2011 :

  • Internet Explorer 10
  • Silverlight 5 beta
  • Mise à jour Windows Phone 7
  • et j’en passe…

Microsoft a choisi de passer une démo de Silverlight 5 3D réalisée par notre ancien directeur David Catuhe (maintenant Microsoft) et modélisée Michel Rousseau de Vertice.