代码之家  ›  专栏  ›  技术社区  ›  Ben Hoffman

找不到TinyMCE.NET dll

  •  1
  • Ben Hoffman  · 技术社区  · 14 年前

    我正试图在我的项目中包含.Net TinyMCE dll。我使用的代码是:

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

    我已经将dll添加到项目中的引用中,并检查了csproj中的代码以确保它是正确的。我修改了它以确保它有一个路径提示。

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

    当我尝试构建我的项目时,收到错误消息:

    无法加载文件或程序集 文件:///c:[项目路径] \bin \MyCeCODE。 或者它的一个依赖关系。操作 不支持。(以下情况除外 HRESULT:0x8013155)

    如何解决此错误?我试过打开和关闭VS2010。添加和删除引用。什么都没用。


    经过更多的研究,问题是我使用的是.Net 4.0,而TinyMCE的.Net dll没有一个强名称。基本上,它没有PublicKeyToken。我该如何解决?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Basic    14 年前

    我不确定这是否能解决问题,但为了让你的提示路径相对,我相信你需要从 .\ (或 ..\ 对于家长)

    DLL的实际路径在哪里?是否尝试将生成输出级别设置为“诊断”( Tools -> Options... -> Projects and Solutions -> Build and Run )

    这能给你更多的信息吗?

    为了进行测试,请尝试创建 C:\Bin\Moxiecode 并将DLL放入其中。这能解决问题吗?(在这种情况下,这是一个路径问题)。如果不是,则可能是其他东西引发了误导性异常(损坏的dll或类似的?). [ 编辑: 在编辑Q之前,本段中提到的路径是正确的]

    更新:如果使用强名称编译项目,则所有引用也必须有一个。这是为了确保代码中没有恶意注入的内容。你唯一的选择是:

    • 不要强烈地签下你的项目[坏的]
    • 用SNK重新编译有问题的DLL[如果你能得到源代码就好]
    • 让动态链接库的开发人员用SNK为您构建一个动态链接库[如果您能实现它,那就好了]