L'aggiunta dei riferimenti ad un progetto

martedì 29 maggio 2012 - 10.20
Tag Elenco Tags  VB.NET  |  .NET 3.5  |  Visual Studio 2008

ridaria Profilo | Expert

Ciao amici,
volevo conoscere un paio di cose a proposito dei riferimenti aggiunti a progetti winForms

Nello sviluppo di un progetto sorge la necessità di aggiungere rifermenti per utilizzare componenti esterni

un esempio è questo:
Microsoft.SqlServer.SqlEnum
che è un componente di sqlServer per la gestione dei backup e restore etc....

Vedo nelle proprietà di ogni componente che c'è anche un SourcePath: C:\Programmi\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.SqlEnum.dll

Mi sono prefigurato il seguente evento:

Formatto il pc;
Installo visualstudio;
Apro il progetto perché i backup li ho fatti;
Se sul pc in questione la dll ( C:\Programmi\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.SqlEnum.dll) non c'è perché sql server non è installato, come per tanti altri componenti che magari sono stati aggiunti, che cosa accade?

Mi ritrovo con una serie di messaggi che mi dicono che manca il componente tale, manca il componente tizio etc...?

Grazie


Riccardo D'Aria

StefanoRicci Profilo | Junior Member

se fai il deploy con clickonce basta che vai nelle proprietà di pubblicazione e gli dici di portarsi dietro le dll che ti servono e finita lì, mentre con un setup classico devi includere tu i file esterni del progetto...

se manca ti genera delle eccezioni e va in crash... almeno, è quello che mi è capitato con un software scritto in c#.net 3.5...
da quel momento ho sempre configurato il trasporto dei file esterni tenendoli dentro una dir del progetto
--------------------------------------

IDE: Visual Studio 2008 Professional Edition
IDE: Visual Studio 2010 Professional Edition

ridaria Profilo | Expert

>se fai il deploy con clickonce basta che vai nelle proprietà
>di pubblicazione e gli dici di portarsi dietro le dll che ti
>servono e finita lì, mentre con un setup classico devi includere
>tu i file esterni del progetto...


Innanzitutto GRAZIE

Quali sono le differenze tra clickonce e setup classico?

Io lavoro sempre con procedura di setup classico!

Cosa fa il clickonce?


Riccardo D'Aria

StefanoRicci Profilo | Junior Member

clickonce è il deploy del progetto via rete (cartella condivisa in lan, internet, ecc...)..
ma ha delle limitazioni sui permessi che può ottenere nell'operare nella macchina( è una limitazione solo se tu necessiti di usarli )
installa nel path " %appdata% "
ottieni la funzionalità di verifica periodica degli aggiornamenti e versioning del software installato senza scrivere una riga di codice (utile nei rollback)
quando configuri la pubblicazione, basta che selezioni la dicitura di portarti sempre quella dipendenza e lui si occupa di tutto...


nel setup classico devi provvedere te al compito in maniera più macchinosa (sia nel caso di portarti le dipendenze dietro, sia nella gestione degli update del software presso i clienti, sia nell'eventuale rollback nel caso di problemi), ma ottieni l'utilizzo senza limiti su tutte le risorse della macchina...


la risposta è che non esiste una differenza che fa prevalere uno rispetto all'altro... dipende da cosa devi fare.

questo è un esempio semplice di clickonce: http://dl.dropbox.com/u/2147046/RegularExpressionsTester/publish.htm
me lo ero scritto mentre studiavo le regular expressions
considera che l'unico codice che ho scritto io è quello del software, tutta la gestione di pubblicazione, verifica delle dipendenze, installazione, controllo aggiornamenti la ottieni gratis dalla funzionalità
--------------------------------------

IDE: Visual Studio 2008 Professional Edition
IDE: Visual Studio 2010 Professional Edition

ridaria Profilo | Expert

cioè l'unico modo per mantenere i riferimenti in un certo senso legati al progetto e non alla loro collocazione fisica iniziale è compilare con clikonce?

cASPITA è UNA BELLA LIMITAZIONE
Riccardo D'Aria

StefanoRicci Profilo | Junior Member

>cioè l'unico modo per mantenere i riferimenti in un certo senso
>legati al progetto e non alla loro collocazione fisica iniziale
>è compilare con clikonce?
>
>cASPITA è UNA BELLA LIMITAZIONE
>Riccardo D'Aria

no, con clickonce ti puoi levare il problema di gestirlo tu.... e farlo semplicemente con un flag...

con il classico setup ti consiglio di portarti le dll dentro l'installer, e gestire tu la copia sul nuovo client dove installi...

io personalmente nel progetto mi creo una directory e li sposto tutte le mie dipendenze, e faccio puntare a quelle i miei riferimenti, quindi setto tutti questi file con la proprietà "always copy", in modo che siano sempre presenti all'atto della compilazione in release mode, quindi quando vado a creare il setup classico, mi porto via tutto quello che trovo nella directory di release (compresi tutti questi file esterni)

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

IDE: Visual Studio 2008 Professional Edition
IDE: Visual Studio 2010 Professional Edition
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5