2010-11-17 18 views
1

J'essaie d'inclure la DLL .Net TinyMCE dans mon projet. Le code J'utilise est:Impossible de trouver TinyMCE .NET dll

<%@ Register Assembly="Moxiecode.TinyMCE" Namespace="Moxiecode.TinyMCE.Web" tagprefix="tinymce" %> 

J'ai déjà ajouté la dll aux références du projet et j'ai vérifié le code dans mon csproj pour vous assurer qu'il est correct. Je l'ai modifié pour m'assurer qu'il avait un indice de chemin.

<Reference Include="Moxiecode.TinyMCE, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
    <HintPath>bin\Moxiecode.TinyMCE.dll</HintPath> 
    <SpecificVersion>False</SpecificVersion> 
</Reference> 

Lorsque je tente de construire mon projet que je reçois le message d'erreur:

Impossible de charger le fichier ou l'assemblage « file: /// C: [ProjectPath] \ bin \ Moxiecode.TinyMCE .dll ' ou l'une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT: 0x80131515)

Comment résoudre cette erreur? J'ai essayé d'ouvrir et de fermer VS2010. Ajouter et supprimer la référence Rien n'a fonctionné.


Après plus de recherches, il semble que le problème est que j'utilise .Net 4.0 et dll .Net de TinyMCE ne dispose pas d'un nom fort. Fondamentalement, il n'a pas de PublicKeyToken. Comment résoudre ça?

+0

J'ai édité ma réponse avec une réponse mise à jour à votre requête SNK – Basic

Répondre

2

Je ne suis pas sûr que cela résoudra le problème, mais pour votre chemin d'indice pour être relatif, je crois que vous devez commencer avec .\ (ou ..\ pour les parents)

Où est le chemin réel à la DLL? Avez-vous essayé de régler le niveau de sortie de la construction sur Diagnostic (Tools -> Options... -> Projects and Solutions -> Build and Run)

Est-ce que cela vous donne plus d'informations?

À des fins de test, essayez de créer un C:\Bin\Moxiecode et placez la DLL dedans. Est-ce que cela règle le problème? (auquel cas c'est un problème de chemin). Sinon, cela peut être quelque chose d'autre qui lance une exception trompeuse (DLL corrompue ou similaire?).

Mise à jour: Si vous avez un projet en cours de compilation avec un nom fort, toutes vos références doivent en avoir une également. Ceci afin de s'assurer que votre code ne contient pas de code malicieux. Vos seules options sont les suivantes:

  • Ne pas signer fortement votre projet [Bad]
  • recompiler la DLL incriminée vous avec un SNK [Bon si vous pouvez obtenir la source]
  • Obtenez les développeurs de la DLL pour en construire un avec un SNK [Bon si vous pouvez l'obtenir]
+0

Mes autres chemins de référence sont exactement les mêmes et fonctionnent sans problème. J'ai essayé de mettre la DLL dans 'C: \ Bin \ Moxiecode.TinyMCE.dll' et cela n'a pas fonctionné. –

+2

Je l'ai construit en mode diagnostic et j'ai eu une erreur comme ceci 'Une tentative a été faite pour charger un assembly à partir d'un emplacement réseau qui aurait causé le sandboxing de l'assembly dans les versions précédentes de .NET Framework. Cette version de .NET Framework n'active pas la stratégie CAS par défaut. Cette charge peut donc être dangereuse.Si cette charge n'est pas destinée à bac à sable l'assembly, veuillez activer le commutateur loadFromRemoteSources. »Puis il a référencé ceci: http://msdn.microsoft.com/en-us/library/dd409252%28VS.100%29.aspx. Chose est, le document est local. –

+0

Intéressant. La syntaxe File: // utilisée dans les navigateurs peut faire référence aux chemins UNC mais je ne suis pas sûr de son utilisation ici. À des fins de test, pouvez-vous essayer de créer un nouveau projet avec juste une référence à cette DLL et le compiler - Est-ce que cela échoue aussi? Incidemment, lorsque vous avez téléchargé la DLL, y a-t-il une chance que l'indicateur de téléchargement non sécurisé soit défini? Cela dépend du système d'exploitation que vous utilisez mais des propriétés du clic droit et de l'onglet @ Général et du bouton avancé. – Basic