Problème de connexion à TFS depuis Visual Studio 2017

Suite à la mise à jour de Microsoft Team Foundation Server vers la version 2017 update 2, j’ai voulu utiliser Microsoft Visual Studio .Net 2017 (version 15.3) mais j’ai rencontré un problème pour me connecter à TFS.

L’interface de connexion de TFS a changé, mais en entrant mon serveur, Visual Studio refusait d’aller plus loin et m’indiquait « Aucun dépôt disponible. »:

J’ai réussi à passer outre ce problème en utilisant une autre fenêtre de connexion, semblable à celle de Visual Studio 2015, qui se trouve via le menu Fichier > Contrôle de code source > Avancé > Ouvrir à partir du serveur…

D’ici, j’ai pu configurer correctement une connexion à un projet, comme cela était le cas en Visual Studio 2015:

 

Et j’ai enfin pu ouvrir mes projets avec Visual Studio 2017:

Je ne sais pas pourquoi j’ai rencontré ce problème de connexion à TFS avec la nouvelle interface de Team Explorer, mais l’ancienne version via le menu fonctionne parfaitement.

L’autre façon de faire qui peut sûrement fonctionner est de passer par l’interface Web de TFS. Il y a un lien « Ouvrir avec Visual Studio » qui m’a ouvert directement Visual Studio (mais la version 2015, que j’ai encore installé à côté de la 2017). Je pense que si Visual Studio 2017 est l’environnement par défaut, ou le seul environnement installé, cela permet de récupérer le projet et de configurer la connexion avec TFS.

Ancien Wiki / .Net

Consommer un webservice au travers d’un proxy

C:\Program Files\Microsoft Visual Studio 9.0\VC>wsdl http://url/WebService?wsdl /out:C:\temp\WebServiceProxy.cs
/proxyusername:xxx
/proxypassword:xxx
/proxydomain:xxx
/username:xxx (SSL connection)
/password:xxx (SSL connection)

Origine de l’information :

WebProxy.GetDefaultProxy deprecated

WebProxy.GetDefaultProxy -> WebRequest.GetSystemWebProxy static method or WebRequest.DefaultWebProxy static property

ASP.NET server application unavailable

Erreur :

Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.

Dans les logs :

Event Type: Error
Event Source: ASP.NET 1.1.4322.0
Event Category: None
Event ID: 1088
Date: 11/9/2003
Time: 9:39:47 PM
User: N/A
Computer: ACE1
Description:
Failed to execute request because the App-Domain could not be created. Error: 0x80070005 Access is denied.

J’ai résolu comme cela :

1. I went to the folder where my web application resides and set permission to run it under ASPNET and IUSR[YOUR_COMPUTER_NAME] users

After step one – I still got error but Event viewer changed the description

2. Then I perform aspnet_regiis.exe -i for .NET version I ran (2.0) (sous CMD pour VS.NET)

Send file using download message box in ASP.NET

protected void LinkButton_Click(object sender, EventArgs e)
{
  //if (sender.ToString()
  Response.Clear();
  Response.ContentType = "application/vnd.ms-excel";
  Response.AddHeader("Content-Disposition", "attachment;filename=download.csv");
  Response.Write("Download");
  Response.End();
}

ASP.NET : traces automatiques sur une page aspx

<%@ Page Language="C#" Trace="true" AutoEventWireup="true" CodeBehind="..." Inherits="..." %>

Contrôle DataGrid WPF

En testant Visual Studio 2008, j’ai été surpris de l’absence du contrôle DataGrid dans une application WPF (.NET framework 3.5). Ce contrôle primordial est pourtant présent en application WinForm… Après des recherches sur Internet, il s’avère que le contrôle n’a pas été prévu par Microsoft (initialement je suppose). Pourtant, même sous SilverLight 2, le contrôle existe.

Plutôt nul, mais j’ai trouvé un contrôle DataGrid sur CodePlex qui est pas mal. Voir le lien « WPF Toolkit » sur la page « Windows Presentation Foundation  » de CodePlex.

Les liens suivants montrent comment utiliser ce DataGrid :

Cross-thread operation not valid exception

Erreur :

CrossThreadOperationException

Test :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace TestCrossThreading
{
   public partial class Form1 : Form
   {
       private delegate void ChangeLabel(string str);
       private void ChangeLabelText(string str)
       {
           this.label1.Text = str;
       }
       private delegate void ChangeProgress(int val);
       private void ChangeProgressValue(int val)
       {
           this.pictureBox1.Width = val;
       }

       public Form1()
       {
           InitializeComponent();
       }

       Random r = new Random(123);

       private void timer1_Tick(object sender, EventArgs e)
       {
       }

       private void button1_Click(object sender, EventArgs e)
       {
           System.Threading.Timer timer1;
           timer1 = new System.Threading.Timer(new System.Threading.TimerCallback(this.OnTick), this, 1000, 1000);
       }

       private void OnTick(object obj)
       {
           this.Invoke(new ChangeLabel(ChangeLabelText), r.NextDouble().ToString());
           this.Invoke(new ChangeProgress(ChangeProgressValue), (int)(r.NextDouble() * (double)357));

           // this.label1.Text = r.NextDouble().ToString();
           // this.pictureBox1.Width = (int)(r.NextDouble() * (double)357);
       }
   }
}

What .NET Framework version numbers go with what service pack

Voir What .NET Framework version numbers go with what service pack / Aaron Stebner’s WebLog

Base64 Encode or Decode a File

Voir Base64 Encode or Decode a File / SNIPPLR

Trouver le chemin d’un fichier de configuration

string path = path.combine(Application.StartupPath, "config.xml");

Exécuter un fichier .BAT et en récupérer la sortie

Voir How can I run another application or batch file from my Visual C# .NET code?

Installer un programme en tant que service

sc.exe from the Win2k ResKit

Supprimer un service (le stopper et désactiver avant à la main):

C:\Windows\system32>sc delete <service_name> 

Créer un service:

C:\Windows\system32>sc create <service_name> binpath= C:\xxx\xxx.exe
[SC] CreateService SUCCESS
C:\Windows\system32>sc description <service_name> "description"
[SC] ChangeServiceConfig2 SUCCESS

Lien : http://www.herongyang.com/Windows/Service-Create-Delete-Services-with-sc-exe.html