ASP.NET 发布尝试复制不存在的文件

Posted

技术标签:

【中文标题】ASP.NET 发布尝试复制不存在的文件【英文标题】:ASP.NET publish trying to copy a non-existant file 【发布时间】:2012-05-22 15:50:54 【问题描述】:

我正在尝试在 VS2010 中发布一个 ASP.NET 项目,并且收到以下错误:

将文件 bin\CKFinder.pdb 复制到 obj\Release\Package\PackageTmp\bin\CKFinder.pdb 失败。找不到文件“bin\CKFinder.pdb”。

我曾尝试使用 CKFinder 的试用版(带有 CKEditor),但我放弃了。我删除了对 CKFinder 的所有引用,包括文件夹和引用——至少我是这么认为的。

我已尝试查找此错误,但结果为空。这越来越令人沮丧。

为什么会出现这个错误?想法?

提前致谢。 . .

【问题讨论】:

更新:我进入项目 --> 打包/发布设置,然后单击“排除生成的调试符号”。在我撰写本文时,该项目正在发布。 【参考方案1】:

我也遇到了这个问题。我在尝试发布 MVCForum 1.7 时收到以下错误:

将文件 App_Data\NuGetBackup\Hello.txt 复制到 obj\Release\Package\PackageTmp\App_Data\NuGetBackup\Hello.txt 失败。找不到文件“App_Data\NuGetBackup\Hello.txt”。

François Breton's comment 帮助我实现了解决方案。

很简单:

使用文本编辑器(记事本、Notepad++)打开您的.csproj 文件,Visual Studio 会将其作为项目打开。

Ctrl + F 并搜索问题的文件。在我的例子中,文件是“Hello.txt”没有逗号

它位于<ItemGroup> 下:

<ItemGroup>
<Content Include="App_Data\NuGetBackup\Hello.txt" />
<Content Include="Content\admin\Admin.css">
    <DependentUpon>Admin.scss</DependentUpon>
</Content>
...More code omitted due to brevity.

我删除了&lt;Content Include="App_Data\NuGetBackup\Hello.txt" /&gt; 行,瞧! Visual Studio 允许我在发布前预览!

会这样结束:

<ItemGroup>
<Content Include="Content\admin\Admin.css">
    <DependentUpon>Admin.scss</DependentUpon>
</Content>
...More code omitted due to brevity.

【讨论】:

这拯救了我的一天。我有同样的问题,但使用 npm-files。 (例如 npm-debug.log)【参考方案2】:

更新:我进入项目 --> 打包/发布设置,然后单击“排除生成的调试符号”。该项目开始发布,没有任何问题。

更新 #2(这可能是更好的答案):我尝试以调试而不是发布的形式发布(是的,我想在此特定版本中保留调试功能),但错误再次出现。事实证明,我没有从项目中排除 CKfinder.dll。一旦我这样做了,它就可以正常运行了。

【讨论】:

不是我... 错误 1 ​​将文件 Views\Default1\Index.cshtml 复制到 obj\Release\Package\PackageTmp\Views\Default1\Index.cshtml 失败。找不到文件“Views\Default1\Index.cshtml”。在 VS2012 Express 中! 哇!这些文件不在文件夹中,而只是在 .proj 中。子版本提交失败! Francois Breton 的评论对我很有帮助。我删除了对 dll 的引用,但 TFS 并没有反映出来。我不得不去编辑我的 Project.csproj 文件并删除 引用。将其保存在磁盘上,VS 要求重新加载项目。现在发布好了 @FrançoisBreton 谢谢伙计,在网上浪费了 30 分钟后,您的评论帮助了我。【参考方案3】:

我刚刚从我的 visual studio 解决方案 中删除了 黄色标记 文件,它对我非常有用,因为文件被添加删除 多次从文件夹中删除,但未从 VS 解决方案项目中删除。

【讨论】:

【参考方案4】:

删除解决方案资源管理器中显示感叹号的文件。它对我有用

【讨论】:

【参考方案5】:

我遇到了同样的问题,我只是点击了显示所有文件,然后删除了带有感叹号的文件。希望这对某人有所帮助。

【讨论】:

【参考方案6】:

右键单击您的项目 => 卸载项目 => 再次右键单击新卸载的项目 => 编辑 'myProject.csproj' => 搜索有问题的文件 (CTRL + F) 并删除。

如果错误再次出现在同一个父目录中,但现在使用不同的文件名,则可能是用户错误地将文件包含在项目中(就像我一样)。可以删除有问题的目录下的所有文件。这应该可以解决问题。

【讨论】:

【参考方案7】:

在我的情况下,我遇到了类似的错误,但 .cshtml 文件如下:

复制到 Views\Home\About.cshtml 到 obj\Release\Package\PackageTmp\Views\Home\About.cshtml 失败。可以 找不到文件'Views\Home\About.cshtml'

查看解决方案资源管理器树,一切正常,没有黄色标记,但单击文件时出现错误。

项目目录中不存在“About.cshtml”项。它可能是 移动、重命名或删除。

从解决方案中删除文件为我解决了这个问题。

【讨论】:

我在我的项目中删除了我的 .chtml 文件,因此解决方案中不存在文件...。但在发布时显示此错误消息:>> obj\Release\Package\PackageTmp\Views\Account\ Login.cshtml 到 obj\Release\Package\PackageTmp\obj\Release\Package\PackageTmp\Views\Account\Login.cshtml 失败。找不到文件 'obj\Release\Package\PackageTmp\Views\Account\Login.cshtml'。【参考方案8】:

我错误地将 obj 文件夹包含到 Visual Studio 项目中。从项目中排除 Obj 文件夹解决了我的问题

【讨论】:

【参考方案9】:

您必须从项目中排除 bin 文件夹,然后重新发布您的项目。方法可以解决我的问题

【讨论】:

【参考方案10】:

检查 bin 文件夹已添加到 vs 资源管理器中。如果它在那里,则从项目中排除并检查。它对我有用。

【讨论】:

【参考方案11】:

我的目录中有我打算发布到的文件。删除这些允许成功发布。

【讨论】:

【参考方案12】:

另一个解决方案是删除发布配置文件,在我删除 1 个 EF DbContext 后发生此错误。该解决方案在发布文件夹中跟踪该文件,我重新创建了配置文件并成功发布。

我的错误是这样的

找不到名为“xxxx”的 DbContext。

【讨论】:

以上是关于ASP.NET 发布尝试复制不存在的文件的主要内容,如果未能解决你的问题,请参考以下文章

能够在 ASP.NET 中包含文件,但不检查它是不是存在

ASP.Net 如果数据不存在则添加数据,如果数据存在则更新数据

asp.net 检查 imageURL 是不是存在

asp.net提示“未能加载文件或程序集“XXXXXXXX.dll”或它的某一个依赖项。找不到指定的模块。”

Asp.Net判断文件是否存在

C# ASP.NET ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)