domenica 7 maggio 2023

asp.net mvc framework 5 publish to folder with file web cshtml



Qualora si ha la necessità di pubblicare in Azure o altro ambiente un progetto web realizzato con tecnologia Asp.Net MVC, versione Framework 5.0, i file cshtml, può capitare che questi non vengano copiati nella cartella.
Una possibile soluzione è quella di aprire il file di progetto (.csproject) con Notepad, e inserire le seguenti righe riportate qui di seguito,  nel nodo  <PropertyGroup>.

Di seguito i nodi da inserire:
<PreserveCompilationContext>true</PreserveCompilationContext>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
<CopyRazorGenerateFilesToPublishDirectory>true</CopyRazorGenerateFilesToPublishDirectory>



Qui di seguito il nodo completo.

<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
 <ApplicationIcon>wwwroot\favicon.ico</ApplicationIcon>
<PreserveCompilationContext>true</PreserveCompilationContext>
<MvcRazorCompileOnPublish>false</MvcRazorCompileOnPublish>
<CopyRazorGenerateFilesToPublishDirectory>true</CopyRazorGenerateFilesToPublishDirectory>
  </PropertyGroup>

sabato 6 maggio 2023

Download gioco Against All Odds

 


Against All Odds è un gioco di strategia per età dai 16 anni in su, con una grafica molto interessante.

Il gioco è gratuito e senza limitazioni in lingua italiana e per sistemi operativi Windows, fino al 11 maggio 2023 si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per il download e maggiori informazioni visitate il seguente sito Against All Odds | Scaricalo e gioca gratuitamente sull'Epic Games Store

Download gratuito ebook Svelte Succinctly

 


Dal seguente sito https://www.syncfusion.com/succinctly-free-ebooks/svelte-succinctly è possibile scaricare gratuitamente, previa registrazione, un ebook in formato pdf o per dispositivi mobile, sulla programmazione Svelte, un framework per il web.

L'ebook, in lingua inglese spiega in maniera chiara e semplice l'utilizzo di questo Framework, nonostante le circa 100 pagine.


venerdì 5 maggio 2023

Sql Server elencare le funzioni presenti in un database tramite istruzione SQL

Il comando sql qui di seguito da utilizzare nel database Microsoft Sql Server, fornisce la lista di tutte le funzioni presenti in un determinato Database.

SELECT
   *
FROM
    INFORMATION_SCHEMA.ROUTINES 
WHERE
ROUTINE_TYPE = 'FUNCTION'

giovedì 4 maggio 2023

Strumento online per la gestione dei file PDF

 


Un sito che offre gratuitamente e senza registrazione ed email, la possibilità di effettuare modifiche e varie operazioni sui file pdf.

Oltre alla possibilità di utilizzare strumenti online, anche quella di scaricare un programma per eseguire tale operazioni su pc.

Il sito https://www.pdfgear.com/all-features/ in lingua inglese ma facilmente utilizzabile, offre numerose funzionalità.


mercoledì 3 maggio 2023

Sito per creare immagini con l'intelligenza artificiale da un disegno

 



Dal seguente sito Scribble Diffusion è possibile creare immagini da un disegno effettuato a mano libera online.

Una volta effettuato il disegno, e digitando la frase nella casella di testo, il sito tramite l'intelligenza artificiale effettuerà la creazione di un'immagine su quanto descritto e disegnato.

Il sito è in lingua inglese ma facilmente utilizzabile.

martedì 2 maggio 2023

Blog programmazione .Net jaliyaudagedara

Il seguente blog https://jaliyaudagedara.blogspot.com/ offre costantemente aggiornamenti sulla programmazione .Net con il linguaggio C#.
Un blog con interessanti contenuti, in lingua inglese.

lunedì 1 maggio 2023

Download immagini gratuite da streamlinehq

 


Se cercate una serie di immagini ed icone per le vostre applicazioni, dal seguente sito https://www.streamlinehq.com/icons è possibile effettuare il download di immagini in bianche e nero o a colori da utilizzare gratuitamente nei vostri progetti.

Per maggiori informazioni è download visitate il sito indicato.


domenica 30 aprile 2023

C# componente gratuito per la creazione dei video giochi - Flecs

 


Il componente Flecs, qui  Flecs: Flecs il sito, permette di aggiungere allo sviluppo di video giochi, alcuni aspetti ed effetti messi a disposizione da questa libreria gratuita.

Il sito è in lingua inglese, ma è facile da utilizzare ed è presente una guida per l'utilizzo del componente stesso.

Per maggiori informazioni ed altro visitate il sito indicato.


sabato 29 aprile 2023

Download gioco Poker Club

 


Un gioco con una grafica molto accattivante che far sembrare di stare dentro al gioco, parliamo di Poker Club, un video gioco per adulti sul famoso gioco delle carte del Poker.

Il gioco in lingua italiana e per sistemi operativi Windows, è disponibile gratuitamente fino al 4 maggio 2023 dopo tale data il download sarà a pagamento, per il download e maggiori informazioni visitate il seguente sito Poker Club | Acquistalo e scaricalo subito sull'Epic Games Store

MAUI liberare la memoria

Il frammento di codice qui di seguito permette di liberare la memoria degli appunti in varie piattaforme tramite il framework MAUI.

 Clipboard.Default.SetTextAsync(null);


venerdì 28 aprile 2023

Download gioco Breathedge

 



Dal seguente sito Breathedge (epicgames.com) è possibile scaricare un video gioco di avventure spaziali, per sistemi operativi Windows.

Fino al 4 maggio 2023 il download sarà gratuito dopo tale data, si potrà scaricare a pagamento.

Per maggiori informazioni e download visitate il sito indicato.


Microsoft Edge intelligenza artificiale che risponde alle tue domande

 


Interessante la nuova funzionalità del browser Microsoft Edge, che permette di dare risposte alle domande che si pongono.

Tramite il logo di Bing, situato sulla destra  sopra la barra, quella con la forma della lettera "B", si apre un pannellino con il quale fare domande.

Dopo aver fatto la domanda nella casella di testo, il sistema di intelligenza artificiale fornirà una possibile risposta oppure ulteriore richieste o indicazioni.

Una funzionalità molto interessante e soprattutto ben fatta.

giovedì 27 aprile 2023

Download gratuito programma di modifica immagine ImageMagick

 


Il programma ImageMagick, qui https://imagemagick.org/ il sito ufficiale, è un software gratuito ed open source, con il quale si possono effettuare modifiche ai file immagini o creare gif, permettendo di modificare immagini o manipolarli.

Il sito è in lingua inglese.

Per maggiori informazioni e download visitate il sito indicato.


mercoledì 26 aprile 2023

Download gioco Never Alone (Kisima Ingitchuna)

 


Un nuovo gioco di avventura con una grafica accattivante ambientato in uno scenario di bufera eterna, parliamo di neverl Alone, in lingua italiana e per sistemi operativi Windows.

Fino al 27 aprile 2023 il download sarà gratuito dopo tale data, a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/never-alone-kisima-ingitchuna

Download gioco Beyond Blue

 



Fino a domani, 27 aprile 2023, si potrà scaricare gratuitamente il gioco di avventure marine Beyond Blue, in lingua italiana e per sistemi operativi Windows.

Fino a domani il download è gratuito, dopo sarà a pagamento, per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/beyond-blue

Download immagini gratuite tilda

 




Il sito https://tilda.cc/free-icons/ offre la possibilità di scaricare oltre 700 immagini di tipo svg, senza registrazione e senza lasciare email, da utilizzare nei propri progetti.

Se le utilizzate nelle proprie applicazioni o siti, è richiesto l'attribuzione di tale utilizzo.

Per maggiori informazioni e download visitate il sito indicato.


martedì 25 aprile 2023

Programma gratuito di desktop remoto rustdesk

 


RustDesk è un programma gratuito ed open source, in lingua italiana per la gestione del desktop remoto.

Il programma è un'alternativa dei vari programmi di assistenza remota in commercio, con il vantaggio di essere open source.

Anche se il sito è in lingua inglese, il programma è in lingua italiana.

Sono presenti varie versioni, sia il pacchetto d'installazione per i vari sistemi operativi e sia la versione portatile, che non richiede nessuna installazione.

Per maggiori informazioni e download visitate il seguente sito https://rustdesk.com/

lunedì 24 aprile 2023

togliere la ricerca nel riquadro laterale chrome

 


In alcune versioni o aggiornamenti del browser Chrome, può capitare che se effettuiamo la ricerca tramite il menu di scelta rapida (tasto destro) sul testo presente in un sito, visualizza nel pannello di destra o sinistra, i risultati della ricerca.

Per togliere questa opzione, occorre digitare nella barra degli indirizzi il seguente comando:


chrome://flags/#side-panel


Nella finestra che verrà aperta, selezionare la voce "Search web in side panel"  e fare click sul pulsante di destra ed impostare il valore "disabled", il tutto come mostrato nell'immagine di seguito.




domenica 23 aprile 2023

Portale per il download gratuito dei sfondi per pc

 


Un sito che fornisce numerosi sfondi per pc da scaricare gratuitamente.

Il sito https://www.wallpaperflare.com/ in lingua inglese ma facilmente utilizzabile, permette di visionare gli ultimi sfondi pubblicati oppure effettuare la ricerca per determinati temi.

Un sito che non richiede ne registrazioni e ne indirizzo email.

 

sabato 22 aprile 2023

Processing of the LINQ expression 'DbSet by 'NavigationExpandingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. See https://go.microsoft.com/fwlink/?linkid=2101433 for more detailed information.

Durante l'esecuzione del codice, può capire che una query linq to Entity Framework Core, generi un eccezione del tipo 

"Processing of the LINQ expression 'DbSet< ..... ' by 'NavigationExpandingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. See https://go.microsoft.com/fwlink/?linkid=2101433 for more detailed information." dove viene riporta la query con l'errore.
Questo può verificarsi per una serie di sotto query.
Una delle possibili soluzioni è quello di utilizzare come risultato un generico e non un Iqueryable e precedere prima della condizione Where, il Tolist.
Di seguito si riporta un esempio di prima, con l'errore e dopo senza errore.


Per esempio da così

IQueryable<NomeClasse> listaRecord= from u in DbContenx.TabellaOrVista.Where......(con subquery e condizioni)

Diventa così

 var risultato = from u in DbContenx.TabellaOrVista.ToList().Where(con subquery e condizioni)

venerdì 21 aprile 2023

sito con vari strumenti online

Il seguente sito https://pinetools.com/ offre la possibilità di utilizzare diversi strumenti online per eseguire varie operazioni, gestione delle immagini, dei file, dei video, e tanti altri.
Il sito è in lingua inglese ma facilmente utilizzabile e la navigazione è semplificata tramite le varie categorie.

giovedì 20 aprile 2023

System.MissingMethodException: 'Method not found: 'Void Microsoft.AspNetCore.Mvc.RazorPages.RazorPagesOptions.set_AllowAreas(Boolean)'.

 


Quando si sviluppano applicazioni Asp.Net Core con Azure può verificarsi il seguente messaggio di errore "System.MissingMethodException: 'Method not found: 'Void Microsoft.AspNetCore.Mvc.RazorPages.RazorPagesOptions.set_AllowAreas(Boolean)'." questo perchè la versione del pacchetto "Microsoft.AspNetCore.Authentication.AzureAD.UI" non è aggiornato con la versione del Framework.

Aggiornare con l'ultima versione tramite Nuget, e rieseguire la propria applicazione.


mercoledì 19 aprile 2023

EndpointRoutingMiddleware matches endpoints setup by EndpointMiddleware and so must be added to the request execution pipeline before EndpointMiddleware. Please add EndpointRoutingMiddleware by calling 'IApplicationBuilder.UseRouting' inside the call to 'Configure(...)' in the application startup code

Durante lo sviluppo softwtare con la tecnologia Asp.Net MVC Core, può verificarsi l'errore :

"EndpointRoutingMiddleware matches endpoints setup by EndpointMiddleware and so must be added to the request execution pipeline before EndpointMiddleware. Please add EndpointRoutingMiddleware by calling 'IApplicationBuilder.UseRouting' inside the call to 'Configure(...)' in the application startup code",

questo perchè manca probabilmente la chiamata al metodo "UseRouting".
Nell'evento "Configure" inserire la chiamata al metodo "UseRouting"  prima dell'istruzione " app.UseEndpoints(endpoints =>......" : 


app.UseRouting();

app.UseAuthentication();
            app.UseAuthorization();
            app.UseEndpoints(endpoints =>
            {.......

martedì 18 aprile 2023

Email gratuita crittografata proton

 



Se cercate un indirizzo di posta elettronica protetto, il sito Proto, visibile qui https://proton.me/it/mail offre la possibilità di avere un indirizzo di posta elettronica crittografato.

Questi tipi di indirizzi email, proteggono la privacy.

Il sito è in lingua italiana e fornisce anche i vari piani tariffari, per maggiori informazioni e registrazione visitate il sito indicato.


lunedì 17 aprile 2023

Download gioco Second Extinction

 


Un gioco di combattimento contro i dinosauri, con una grafica molto bella ed ottima giocabilità, questo è il gioco Second Extinction.

Il gioco per sistemi operativi Windows, si può scaricare gratuitamente entro il 20 aprile 2023, dopo tale data, il download sarà a pagamento.

Per il download e maggiori informazioni visitate il seguente sito Second Extinction™ | Acquistalo e scaricalo subito sull'Epic Games Store

could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information

 


Durante le esecuzioni di query tramite Linq, può capitare che venga sollevata l'eccezione, del tipo "could not be translated. Either rewrite the query in a form that can be translated, or switch to client evaluation explicitly by inserting a call to either AsEnumerable(), AsAsyncEnumerable(), ToList(), or ToListAsync(). See https://go.microsoft.com/fwlink/?linkid=2101038 for more information"

Per evitare che si verifica questa eccezione, occorre utilizzare il metodo "ToList" o "AsEnumerable" prima di un raggruppamento oppure dopo se è presente ulteriore select, nel caso che ci troviamo in select e groupBy annidate.

L'utilizzo di "ToList" eviterà questa eccezione.



domenica 16 aprile 2023

Download gioco MORDHAU

 


Un gioco per un pubblico adulto quello disponibile gratuitamente in questi giorni sulla piattaforma Epic.

Il gioco Mordhau, con una grafica molto accattivante, è di combattimento, per sistemi operativi Windows.

Fino al 20 aprile 2023 si potrà scaricare gratuitamente, dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito MORDHAU | Acquistalo e scaricalo subito sull'Epic Games Store

C# gestione dei file pdf con pdfsharp per unire file e proteggerli

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_csharp-gestione-dei-file-pdf-con-pdfsharp-per-unir_1826.aspx



In questo articolo vedremo come utilizzare la libreria PdfSharp per gestire i file di tipo “Pdf”.  in particolar modo vedremo come unire due file pdf in uno solo, proteggerli con Password e togliere la password, il tutto con il linguaggio di programmazione C# e l’ambiente di sviluppo “Visual Studio 2022 Community” con versione del Framework 7.
Il progetto sarà di tipo “Windows Application”, ma il codice si potrà utilizzare anche per progetti di tipo web.


Creazione del progetto

Si crea un nuovo progetto di tipo “App Windows Forms” impostando un nome al progetto di proprio piacimento e nella maschera successiva selezionare la versione del Framework 7.
Una volta terminata la creazione del progetto non resta che aggiungere alla form tre pulsanti, il primo dovrà unire due file pdf in un solo file, importando le varie pagine dei due file pdf, il secondo pulsante permetterà di impostare la password ed il terzo pulsante togliere la password.
Per il primo pulsante, impostiamo la proprietà “Text” con il valore “Concatena file” e la proprietà “Name” impostata su “BtnConcatenaFile”, per il secondo pulsante, per la proprietà “Text” impostare il valore “Protezione” e la proprietà “Name” con il valore “BtnProtezione”. Infine il terzo ed ultimo pulsante impostare la proprietà “Name” con il valore “BtnToglieProtezione” e la proprietà “Text” con il valore “Togli Protezione”, il tutto sarà come mostrato in figura 1.


Figura 1 – La disposizione dei pulsanti per i vari esempi

Dopo aver aggiunti i pulsanti, non resta che aggiungere al progetto il riferimento alla libreria “PdfSharp” come già illustrato in un precedente articolo visibile qui https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_csharp-creazione-di-un-file-pdf-tramite-la-libreri_1822.aspx


Dopo aver aggiunto al nostro progetto il riferimento alla libreria “PdfSharp” la parte di creazione del progetto è terminata.

Stesura del codice

Terminata la predisposizione del progetto con i riferimenti ed i vari pulsanti, non resta che scrivere il codice per i vari pulsanti.
Passiamo in visualizzazione codice, ed in alto sopra ad ogni dichiarazione inseriamo lo spazio dei nomi per la gestione della libreria gratuita “PdfSharp”, di seguito si riporta il frammento di codice delle suddette operazioni.

C#

using PdfSharp.Pdf;

using PdfSharp.Pdf.IO;

using PdfSharp.Pdf.Security;

using System.Reflection.Metadata;

using System.Text;



Ora passiamo in visualizzazione grafica, e facciamo doppio click sul primo pulsante, in modo che passiamo in visualizzazione codice dell’evento click del pulsante.
Nell’evento click si creano tre oggetti di tipo “PdfDocument”, uno sarà l’insieme di tutte le pagine di entrambi i file, e salverà il nuovo file in una determinata cartella, gli altri saranno i file pdf da unire al nuovo file pdf, l’apertura dei file avviene tramite il metodo “Open” passando il riferimento del percorso e nome file e tipologia di apertura (import). Per ogni pagina che troviamo nel file pdf aperto, lo inseriamo nel file nuovo tramite il metodo “AddPage”, infine tramite il metodo “Save” salviamo sul disco il file creato.
Di seguito si riporta il codice dell’evento click del pulsante delle suddette operazioni.



C#

  private void BtnConcatenaFile_Click(object sender, EventArgs e)

        {

            try

            {

                //creazione nuovo file

                PdfDocument NuovoPdf = new PdfDocument();

                PdfDocument documento1 = PdfReader.Open("C:\\Varie\\documento1.pdf", PdfDocumentOpenMode.Import);

                PdfDocument documento2 = PdfReader.Open("C:\\Varie\\documento2.pdf", PdfDocumentOpenMode.Import);

                //Importo le pagine del primo file

                foreach (PdfPage pagina in documento1.Pages)

                {

                    NuovoPdf.AddPage(pagina);

 

                }

                //importo lep agine del secondo file

                foreach (PdfPage pagina in documento2.Pages)

                {

                    NuovoPdf.AddPage(pagina);

 

                }

 

                NuovoPdf.Save("C:\\Varie\\NuovoDocumentoConpiuFile.pdf");

 

 

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }



Terminata la stesura del codice, non resta che testarlo per verificare la correttezza dei dati, occorre aggiungere nell’evento di inizializzazione della form, il riferimento encoding, visto che usiamo il Framework 7, di seguito si riporta le suddette operazioni.

C#

public Form1()

        {

            InitializeComponent();

            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

        }



Ritorniamo in modalità grafica, e facciamo click sul secondo pulsante, quello relativo con il testo “Protezione”, nel fare il doppio click si passerà in modalità codice nell’evento click del pulsante.
In questo evento, dobbiamo aprire un file “Pdf” esistente ed impostare la password, tramite la classe “PdfSecuritySettings” oltre ad impostare le password (per utente normale ed utente superiore) , possiamo abilitare determinate funzionalità per l’utente normale, per esempio disabilitare la possibilità di fare la stampa, il tutto come mostrato in figura 2.

Figura 2 – Il pulsante stampa disabilitato

Tramite il metodo “Save” salviamo il file con le impostazioni di protezione e lo rendiamo protetto.
Di seguito si riporta il codice dell’evento click del pulsante delle suddette operazioni.


C#

 

private void BtnProtezione_Click(object sender, EventArgs e)

        {

            try

            {

                //creazione nuovo file

                PdfDocument NuovoPdf = PdfReader.Open("C:\\Varie\\Miofile.pdf");

                PdfSecuritySettings ImpostazioniSicurezza = NuovoPdf.SecuritySettings;

                //Livello di sicurezza

                //Con questa password posso fare solo quello che ho impostato a true, altrimenti non me lo permette

                ImpostazioniSicurezza.UserPassword = "MiaPassword";

                //Con questa password posso fare tutto

                ImpostazioniSicurezza.OwnerPassword = "password";

                //Imposto le restrizioni

                ImpostazioniSicurezza.PermitAccessibilityExtractContent = false;

                ImpostazioniSicurezza.PermitAnnotations = false;

                ImpostazioniSicurezza.PermitAssembleDocument = false;

                ImpostazioniSicurezza.PermitExtractContent = false;

                ImpostazioniSicurezza.PermitFormsFill = false;

                ImpostazioniSicurezza.PermitFullQualityPrint = false;

                ImpostazioniSicurezza.PermitModifyDocument = false;

                ImpostazioniSicurezza.PermitPrint = false;

 

                NuovoPdf.Save("C:\\Varie\\DocumentoPassword.pdf");

 

 

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }



Anche in questo caso, eseguiamo il nostro progetto e facciamo le prove, chi userà la password con il valore “MiaPassword” vedrà alcune funzionalità disabilitate, come il pulsante di stampa, mentre chi entra con la password “password” avrà tutte le funzionalità abilitate.
Ora passiamo in visualizzazione grafica e facciamo doppio click sul pulsante con il testo “Togli protezione”, in modo da passare in visualizzazione codice, nell’evento click del pulsante.
In questo pulsante, andremo a togliere la password, o meglio apriamo il file protetto, e tramite un oggetto di tipo “PdfDocument” che fa riferimento al file pdf aperto con la password, lo salveremo senza password.
Di seguito si riporta il frammento di codice delle suddette operazioni.


C#

private void BtnToglieProtezione_Click(object sender, EventArgs e)

        {

            try

            {

                //creazione nuovo file

                PdfDocument NuovoPdf = PdfReader.Open("C:\\Varie\\DocumentoPassword.pdf", "password");

 

                NuovoPdf.Save("C:\\Varie\\DocumentoPasswordSenzaPassword.pdf");

 

 

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

 





Conclusioni

L’articolo ha fornito al lettore alcuni aspetti della gestione dei file pdf, offerti dalla libreria gratuita “PdfSharp”, che semplifica lo sviluppo di applicazioni e che permette al programmatore di utilizzare particolari funzionalità per modificare e creare file pdf in vari ambiti.
La libreria, gratuita anche per uso commerciale, offre diverse funzionalità anche per operazioni avanzate.

Il codice illustrato in questo articolo può essere utilizzato anche per altri scenari, in particolare per l'ambiente web con la tecnologia Asp.Net

sabato 15 aprile 2023

Download ebook ASP.NET Core APIs

 


Disponibile gratuitamente un ebook in lingua inglese di circa 80 pagine sulla tecnologia Asp.Net Core.

L'ebook è in formato Pdf o per dispositivi mobile.

Per maggiori informazioni e download visitate il seguente sito Free Ebook - ASP.NET Core APIs Succinctly (syncfusion.com)