发布期间 Visual Studio“无法复制文件”
Posted
技术标签:
【中文标题】发布期间 Visual Studio“无法复制文件”【英文标题】:Visual Studio "Unable to copy file" during publishing 【发布时间】:2021-11-30 02:37:27 【问题描述】:在发布我的 VS 2019 C# win forms 项目期间,我不断收到此错误
Unable to copy file "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.TextManager.Interop.8.0.dll" to "bin\Debug\app.publish\Application Files\Database Client_2_0_0_47\Microsoft.VisualStudio.TextManager.Interop.8.0.dll". Could not find a part of the path 'bin\Debug\app.publish\Application Files\Database Client_2_0_0_47\Microsoft.VisualStudio.TextManager.Interop.8.0.dll'. Database Client
这也发生在其他 4 个 DLL 中,其中一些来自 VS 2019 本身,一些来自 NuGet 包
这只是最近才开始发生,所以我不确定这是否是 VS 2019 的问题,因为没有更改基本代码,唯一有的是一些 .rdlc 文档(Microsoft Report Viewer)上的一些徽标。
我在版本 16.11.4 上运行 VS 2019 社区,仅安装了 .Net 桌面开发、Office/Sharepoint 开发和一些单独的包。
我环顾四周,似乎只能发现人们对 .exes 本身有问题,因为它们仍然处于打开状态,但对我来说并非如此,因为我已经检查过,并且没有像 devenv 这样的后台进程。
奇怪的是 Debug 和 Release 构建都很好,没有任何问题。
我也试过删除 \bin 和 \obj 文件夹无济于事。
以下是我的一些涉及发布的设置图片
Publishing Main Settings
Prerequisites
Deployment
【问题讨论】:
欢迎来到 Stack Overflow!您能否在支持文本旁边提供您的发布设置的屏幕截图?如果您还没有阅读,阅读 How do I ask a good question? 也是一个很好的开始 无法将文件复制到相对路径表明“当前目录”与预期不符。也许将目标更改为绝对路径。也许找到某种方法让发布系统打印出当前目录。 如果您从 Microsoft 下载 procmon.exe,您可以查看系统正在执行哪些文件访问,并检查任何与您期望的路径不同的路径。 尝试启动一个具有相似结构和相同包的新项目,看看它是否正常工作。如果是这样,则添加任何丢失的文件并用新的解决方案替换您的原始解决方案。或者,比较两个项目/解决方案的设置。 该相对路径中有 116 个字符,变得有点健壮。您可能必须将项目移近根目录以避免超出 MAX_PATH。 【参考方案1】:正如@HansPassant 评论的那样,这个问题的解决方案似乎是缩短构建路径,因为它超过了 MAX_PATH 变量。
一旦我的项目从默认的 C:\Users\Drew\source\repos\ 移动到 C:\ 驱动器,我的项目就能够成功发布。
【讨论】:
以上是关于发布期间 Visual Studio“无法复制文件”的主要内容,如果未能解决你的问题,请参考以下文章
MSB3021 在 Visual Studio 中运行 Service Fabric 应用时无法复制文件找不到部分路径错误
在使用 Visual Studio 2010 部署/发布期间,一些 dll 丢失
在VNext构建中执行Visual Studio Test任务期间无法发布测试结果