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

2018年5月Win10更新后共享盘.NET应用报「Invalid argument was supplied」异常求助

修复.NET应用在共享驱动器上的「Invalid argument was supplied」网络异常

这个问题我之前帮几个开发者解决过,核心就是Win10 2018年5月更新收紧了.NET对远程/共享路径程序集的安全限制,导致网络操作时权限不足抛出异常。下面给你几个经过验证的可行方案,按优先级尝试:

方案1:修改应用配置文件解除远程源限制

这是最简单的解决方案,不需要管理员权限(只要你能修改应用的配置文件)。在你的.NET应用的app.config(桌面应用)或web.config(Web应用)中添加以下配置:

<configuration>
   <runtime>
      <!-- 允许从远程/共享路径加载的程序集拥有完全信任权限 -->
      <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>

添加后保存配置,重新运行应用即可。这个配置会告诉.NET Framework,从共享驱动器加载的程序集不需要受限于默认的安全沙箱,从而允许正常执行网络操作。

方案2:用PowerShell为共享路径添加完全信任权限

如果方案1无效,你可以通过PowerShell命令将共享路径加入.NET的完全信任列表,需要管理员权限运行PowerShell:

# 替换为你的共享路径
$sharePath = "\\your-server\your-share"

# 创建文件代码组并添加到完全信任策略
$urlPolicy = New-Object System.Security.Policy.Url($sharePath)
$fileGroup = New-Object System.Security.Policy.FileCodeGroup($urlPolicy, [System.Security.Policy.FileIOPermissionAccess]::Read)
$policyLevel = [System.Security.Policy.PolicyLevel]::CreateAppDomainLevel()
$policyLevel.AddFullTrustCodeGroup($fileGroup)

或者使用传统的caspol命令(适用于所有.NET Framework版本):

# 替换为你的共享路径,*表示路径下所有内容
caspol -m -ag 1.2 -url "\\your-server\your-share\*" FullTrust

执行完命令后,重启应用即可生效。

方案3:映射共享驱动器为本地盘符

有时候UNC路径的安全策略比映射的网络驱动器更严格,你可以尝试将共享路径映射为本地盘符:

  1. 打开「此电脑」,点击顶部的「映射网络驱动器」
  2. 选择一个未使用的盘符(比如Z:),输入你的共享路径(\\your-server\your-share)
  3. 勾选「登录时重新连接」,点击「完成」
  4. 从映射的Z盘运行你的应用,测试网络操作是否正常

方案4:检查共享路径的NTFS和共享权限

确保运行应用的用户拥有足够的权限访问共享路径:

  • 右键共享文件夹 → 「属性」→ 「共享」标签:确认运行应用的用户有「读取/写入」权限
  • 切换到「安全」标签:确认用户拥有「读取和执行」、「列出文件夹内容」、「读取」权限,必要时临时添加「完全控制」权限测试(测试后记得改回最小权限)
  • 检查Windows防火墙:确保应用被允许通过防火墙访问网络,或者临时关闭防火墙验证是否是防火墙拦截导致的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:04:06