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.
我删除了<Content Include="App_Data\NuGetBackup\Hello.txt" />
行,瞧! 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 文件并删除我刚刚从我的 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提示“未能加载文件或程序集“XXXXXXXX.dll”或它的某一个依赖项。找不到指定的模块。”
C# ASP.NET ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)