类库项目已引用System.Windows仍提示Clipboard不存在于当前上下文
编译报错「Clipboard doesn't exist in the current context」解决方案
故障根本原因
System.Windows.Clipboard 是WPF框架专属的API,仅可在WPF类型的项目中直接调用。你开发的是独立可接入类库,默认未启用WPF框架绑定,即便手动引入了System.Windows命名空间也无法正常识别该类。
修复方案
- 方案1:适配WPF场景的类库改造
直接编辑你的类库项目的.csproj工程文件,在顶层<PropertyGroup>节点中添加如下配置:
保存后重新生成项目,即可正常识别System.Windows.Clipboard类。<UseWPF>true</UseWPF> - 方案2:兼容多场景的无依赖实现
如果你的类库需要支持接入非WPF项目,可替换剪贴板实现逻辑,无需依赖WPF框架:- 面向Windows平台.NET 6+开发,可使用
Windows.ApplicationModel.DataTransfer.Clipboard完成剪贴板操作 - 如需跨平台支持,可引入第三方轻量剪贴板类库实现读写能力
- 面向Windows平台.NET 6+开发,可使用
额外代码问题修复
你提供的代码中Generate方法存在逻辑错误,当前循环逻辑是直接拼接随机数数值,并未取字符集对应下标的字符,需要修改为:
pw += availableCharacters[randomiser.Next(availableCharacters.Length)];
内容的提问来源于stack exchange,提问作者MrTerobait
相关产品推荐
相关产品推荐

