30.10.20
Entity Framework SQL Select dynamic
16.10.20
GitHub et NuGet dans Visual Studio
- se connecter sur github.com
- créer un nouveau repository (WpfHelpers)
- cocher public, Add a readme file, add .gitignore, choose a licence
- dans visual studio créer une nouvelle solution avec un projet (Class Library (.NET Framework)) dans ce répertoire
- (dans les propriétés du projet, ajouter les "Assembly Information")
- fichier "ajouter au controle de code source"
- aller dans "Team Explorer" (onglet à droite)
- double clic sur le projet dans git locaux
- cliquer sur "Sync"
- cliquer sur "Publish to GitHub"
- remplir les infos et cliquer sur "Publish"
- se connecter à github et contrôler que les fichies soient bien présents10:06 16.10.2020
- depuis visual studio dans "Solution Explorer" on peut voir les modifications faites, faire un commit, puis un "Pull" depuis le "Team Explorer"
//NuGet (https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio-net-framework)
!!!A TESTER AVEC LA COMMANDE dotnet pack
- aller sur nuget.org et télécharger nuget.exe et le mettre dans le dossier du projet
- dans visual studio, mettre le projet en "Release"
- dans une cmd lancer la commande "nuget spec nom_du_projet.csproj", cela créé le fichier nom_du_projet.nuspec
- remplir le fichier avec les bonnes valeurs (id, version, authors, description) et supprimer éventuellement (projecturl et iconurl) ou ce qui apparait comme avertissement dans la commande suivante
- ajouter les balises dans le fichier :
<dependencies>
<group targetFramework=".NETFramework4.5" />
</dependencies>
</metadata>
<files>
<file src="bin\Release\*.*" target="lib/net45" />
</files>
</package>
- lancer la commande "nuget pack nom_du_projet.nuspec" et un fichier "$id$.1.0.0.nupkg" est créé
- aller sur nuget.org et se connecter
- aller dans le menu upload et charger le fichier .nupkg créé précédemment
- par défaut le package est en attente de publication, ensuit on reçoit un email qui nous confirme la publication
- recherche le package depuis nuget manager
//GitHub récupérer un projet existant
fichier, "cloner le dépôt"
- parcourir un dépôt en se connectant à GitHub
- sélectionner le répertoire, le chemin et appuyer sur "Clone"
//optionnel - installer l'extension "GitHub Extension for Visual Studio"
6.10.20
Fond transparent avec Gimp
- dans le menu calque - transparence - ajouter un canal alpha
- dans le menu sélection - par couleur
- dans le menu édition - effacer
- sauvegarder
30.9.20
WPF Avalonia Ubuntu vscode
http://www.avaloniaui.net/
1. télécharger le zip des templates : https://github.com/AvaloniaUI/avalonia-dotnet-templates
2. sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-3.1 dotnet-runtime-3.1 aspnetcore-runtime-3.1
3. dotnet new --install avalonia-dotnet-templates-master/
4. dotnet new (il doit y avoir les nouvelles options avalonia)
5. créer un répertoire pour la solution --> mkdir testAvalonia
6. cd testAvalonia
7. ouvrir ce dossier dans vscode
8. avec solution-explorer créer une nouvelle solution
9. dans le terminal aller dans le dossier testAvalonia
10. dotnet new avalonia.app -o MonApp (créé un répertoire 'MonApp' avec un projet à l'intérieur)
11. dans vscode ajoute le projet à la solution
12. builder l'application
13. dans un terminal aller dans testAvalonia/MonApp/bin/Debug/netcoreapp3.0/
14. lancer ./MonApp
23.9.20
déployer asp.net core sur ubuntu
- clic droite sur le projet
- publier
- créer un nouveau profile et publier dans un dossier
- cliquer sur publier
sur le serveur ubuntu isntaller les composants .net core :
- sudo apt-get install apt-transport-https && sudo apt-get update && sudo apt-get install dotnet-sdk-3.1 dotnet-runtime-3.1 aspnetcore-runtime-3.1
installer le serveur apache :
- sudo apt-get install apache2
- sudo a2enmod proxy proxy_http proxy_html proxy_wstunnel
- sudo a2enmod rewrite
- sudo gedit /etc/apache2/conf-enabled/netcore.conf
18.9.20
Entity Framework Core Asp.net Core MVC
- créer un nouveau projet "Application web ASP.NET Core"
Application web (MVC)
- installer les package nuget suivants :
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
dans la console du gestionnaire de package nuget :
dotnet tool install --global dotnet-ef
dotnet restore
dotnet ef dbcontext scaffold "Data Source=(localdb)\MSSQLLocalDB;AttachDbFilename=C:\Users\xxx\Desktop\testSqlServer.mdf; Integrated Security=True;" Microsoft.EntityFrameworkCore.SqlServer -o Modelsxxx --project TestGenerateModels
- dans le fichier appsettings.json ajouter la ligne :
"ConnectionString": "Data Source=(localdb)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\xxx\\Desktop\\testSqlServer.mdf; Integrated Security=True;"
- dans le fichier Startup.cs
//hyper important de mettre une valeur dans la variable pour la suite
public static string ConnectionString = "bla bla bla";
- dans le fichier Startup.cs, dans méthode Configure :
Startup.ConnectionString = @Configuration.GetSection("ConnectionString").Value;
- dans le fichier de context, méthode OnConfiguring :
optionsBuilder.UseSqlServer(Startup.ConnectionString);
- dans le context ajouter la variable privée :
private string _connectionString;
- dans le context adapter le constructeur par défaut pour qu'il prenne un paramètre :
public SqlServerContext(string connectionString)
{
this._connectionString = connectionString;
}
- sur le dossier "Controllers", clic droite, ajouter controlleur
Controler MVC avec EntityFramework
choisir le model
choisir le context
- dans le context ajouter un constructeur par défaut
- dans le fichier Startup.cs changer tout à la fin le nom du controller a charger par défaut pour tester
- dans le controller, commenter le constructeur qui reçoit le context en paramètre et ajouter :
public PersonnesController()
{
this._context = new SQLiteContext(Startup.ConnectionString);
}
C# Task Course 100m
https://www.c-sharpcorner.com/article/async-and-await-in-c-sharp/
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/
-----------------------------------------------------------------------------------------------------
public class Course100M
{
public static bool isGagnant = false;
public static int vainqueur = 0;
public static int nombreParticipants = 5;
static async Task Main(string[] args)
{
Course100M.isGagnant = false;
Console.WriteLine("A vos marques...");
Thread.Sleep(1000);
Console.WriteLine("Prêts...");
Thread.Sleep(1000);
Console.WriteLine("Partez!!!");
int vainqueurx = await DepartDeLaCourse();
Console.WriteLine($"{vainqueurx}");
Console.WriteLine("-->Course terminée<--");
Console.ReadKey();
}
public static async Task<int> DepartDeLaCourse()
{
await Task.Run(() =>
{
for (int i = 1; i <= Course100M.nombreParticipants; i++)
{
_ = Coureur(i);
}
});
while (Course100M.vainqueur == 0)
{
Thread.Sleep(1000);
Console.WriteLine("Quel suspens...");
}
return Course100M.vainqueur;
}
public static async Task/*<int>*/ Coureur(int numCoureur)
{
CancellationTokenSource source = new CancellationTokenSource();
CancellationToken token;
await Task.Run(() =>
{
//100 mètres
for (int i = 1; i <= 10; i++)
{
Thread.Sleep(500 - numCoureur);
//Console.WriteLine($"{numCoureur}. {i * 10} mètres");
string x = "";
for (int y = 1; y <= i; y++)
{
x = x + " --> ";
}
if (i * 10 != 100)
{
Console.WriteLine($"{numCoureur}. {x}");
} else
{
Console.WriteLine($"{numCoureur}. Terminé!!!");
if (Course100M.isGagnant == false)
{
Course100M.isGagnant = true;
Console.WriteLine("------------------------");
Console.WriteLine($"VAINQUEUR : {numCoureur}");
Console.WriteLine("------------------------");
Course100M.vainqueur = numCoureur;
source.Cancel();
}
}
}
}, token);
}
}
10.9.20
Désactiver l'assistant Google sur Android
- allez dans l'application Google de votre téléphone
- appuyer sur "plus" en bas à droite
- "paramètres"
- "assistant google"
- onglet "assistant"
- cherchez "téléphone" en bas
- désactivez "assistant google"
25.8.20
Liens cool ubuntu/linux
installation compiz wubby effets
https://www.omgubuntu.co.uk/2020/06/how-to-enable-wobbly-windows-effect-on-ubuntu-20-04-lts
installation icones themes
https://www.omgubuntu.co.uk/2020/08/yaru-colors-ubuntu
29.7.20
Installation AvalonStudio sous Ubuntu 20.04
sur le site de github https://github.com/VitalElement/AvalonStudio choisir une release, par exemple : https://github.com/VitalElement/AvalonStudio/tree/release/0.9.0
sudo apt-get install git
importer le projet avec git :
git clone --single-branch --branch release/0.9.0 https://github.com/VitalElement/AvalonStudio --recursive
(dans MainWindow.xaml il faut enlever la référence à l’icone car elle n’existe pas)
autre site intéressant : http://vitalelement.co.uk/
20.5.20
Définir une sortie de son par défaut sous ubuntu
28.3.20
Mic loopback ubuntu
pactl load-module module-loopback latency_msec=1
lancer le programme pavucontrol :
Dans l'onglet 'Enregistrement' Afficher "All Streams" et configurer le micro
Pour stopper :
pactl unload-module module-loopback