Why
- 今天公司有人编代码的时候,使用
vs
新建一个类库的项目,一切都很正常,但是在生成的时候会有一个很奇怪的问题。就很奇怪,照道理只是最简单的一个生成dll
跟注册表应该是半毛钱关系没有的,但是就是出现了,虽然我测试的时候要是忽略这个问题第二次生成就不会报错,但是为了究其所以还是找到了解决方法。
严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息
错误 无法注册程序集“C:\Users\10335\Desktop\peng\temp\LaserProcessModels\bin\x64\Debug\LaserProcessModels.dll”- 拒绝访问。请确保您正在以管理员身份运行应用程序。对注册表项“HKEY_CLASSES_ROOT\LaserProcessModels.LModels”的访问被拒绝。 LaserProcessModels
How
- 网上查找资料发现是
Windows
里面的UAC
设置有关,这个修改的话需要修改组策略,但是因为一般电脑配备的都是家庭版,基本上找不到所谓的组策略,所以这边顺便把如何在家庭版电脑上添加组策略一起说了。
- 新建文本文档,粘贴以下文本,并修改后缀名为
.bat
,双击运行。
@echo off
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
- 程序部署会有一下时间,然后
Win
+R
,运行gpedit.msc
,找到如下的地方。选择禁用。

- 设置完毕后重启电脑再打开项目生成就可以了。
Tip
Windows
的家庭版阉割还是太严重了,同时对于用户的管理是真的扯淡,完全不如Linux
方便。