Forum de la communauté SFML

Bindings - autres langages => DotNet => Discussion démarrée par: Deu sex le Juin 24, 2015, 04:36:59 pm

Titre: Besoin d'aide pour configurer un projet Visual Studio
Posté par: Deu sex le Juin 24, 2015, 04:36:59 pm
Bonjour :)

Je m'explique, je suis en train d'essayer de creer un projet visual studio utilisant SFML.net, j'ai bien suivi les explications que jai trouve sur internet, il vaut inclure les references des libs, et ensuite ajouter les extlibs a la racine du projet, puis les configurer en mode "copy if newer"

Jusque la ca fonctionne pas de problemes, sauf que je trouve cela assez moche, ca copie plein de dll de partout dans le projet et dans les dossiers debug et release quand j'execute.

J'aurais aime savoir si il etait possible de stocker ces dites dlls extlibs dans un dossier et de faire en sorte que l'exe aille chercher les dlls dans ce dossier lors de l'execution du programme.

J'ai essaye tout un tas de choses et cela ne semble pas fonctionner pour le moment.

Merci d'avoir lu :)

Edit : je me suis dit que des exemples visuels pouvaient etre plus parlants, alors voici la methode normale, qui fonctionne bien (avec le dossier Librairies vide):

http://img15.hostingpics.net/pics/820894sfmlworks.png

et la version que j'essaye de faire, ou mes extlibs sont dans le dossier Librairies, et la l'exe ne les trouve pas, meme en ayant reference le path dans les proprietes de mon projet :

http://img15.hostingpics.net/pics/688296sfmldoesntwork.png

PS : desole pour l'absence d'accents, je n'ai qu'un clavier qwerty souis la main !
Titre: Re : Besoin d'aide pour configurer un projet Visual Studio
Posté par: Kernel panik le Juin 25, 2015, 07:25:56 am
Bonjour,

Pour permettre aux modules externes de trouver les dlls non managées tu dois passer par une API Windows.

...
class Program
{
        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        private static extern bool SetDllDirectory (string lpPathName    );

        static  void Main (string[] _arguments  )
        {
                SetDllDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Librairies"));
                ...
 

Les chemins d'accès des références, quant à eux permettent de spécifier des dossiers pour les dlls managées uniquement.
Titre: Re : Besoin d'aide pour configurer un projet Visual Studio
Posté par: Deu sex le Juin 25, 2015, 09:10:11 am
Ca fonctionne ! (jai juste du rajouter les usings qu'il fallait)

Je n'ai pas tout compris de ce que fais le code mais ca fonctionne ! Merci beaucoup !