You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# Excel VSTO插件ClickOnce发布后无法加载msalruntime.dll

解决ClickOnce发布VSTO插件时缺失msalruntime.dll的问题

针对你遇到的ClickOnce发布后msalruntime.dll缺失导致MSAL初始化失败的问题,可以通过以下几种方式强制将该DLL包含进发布包:

  • 手动添加文件到项目并配置属性

    1. 定位到本地的msalruntime.dll文件(可从项目依赖的SDK目录或本地调试输出目录获取)
    2. 右键项目 → 添加 → 现有项,选中该DLL文件
    3. 在解决方案资源管理器中选中该DLL,在属性面板设置:
      • 生成操作:内容
      • 复制到输出目录:如果较新则复制
      • 包含在ClickOnce发布中:是(部分版本Visual Studio中该选项可能显示为“包含”)
  • 直接编辑项目文件强制包含
    右键项目 → 编辑项目文件(.csproj),添加以下XML代码块,替换路径为实际的DLL相对路径:

    <ItemGroup>
      <Content Include="libs\msalruntime.dll">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        <IncludeInClickOnce>true</IncludeInClickOnce>
      </Content>
    </ItemGroup>
    
  • 检查ClickOnce发布的应用文件列表

    1. 打开项目的发布设置(右键项目 → 发布)
    2. 点击「应用文件」按钮
    3. 在弹出窗口中找到msalruntime.dll,确保其「发布状态」设置为「包含」;若未找到,需先按第一种方法将文件添加到项目中
  • 验证manifest文件配置
    若之前手动修改过solution.dll.manifest,确保其中包含该DLL的正确配置条目(通常添加文件到项目后Visual Studio会自动生成,无需手动修改):

    <file name="msalruntime.dll" size="对应文件大小">
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
        <dsig:DigestValue>对应文件的SHA256摘要值</dsig:DigestValue>
      </hash>
    </file>
    

内容的提问来源于stack exchange,提问作者gooopil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:04:59