8

我在 Visual Studio 中不断收到这 11 个错误:

Error   456 Could not copy the file "_bin_deployableAssemblies\de\System.Web.Mvc.resources.dll" because it was not found.   ViMuDat
Error   457 Could not copy the file "_bin_deployableAssemblies\de\WebMatrix.WebData.resources.dll" because it was not found.    ViMuDat
Error   458 Could not copy the file "_bin_deployableAssemblies\de\WebMatrix.Data.resources.dll" because it was not found.   ViMuDat
Error   459 Could not copy the file "_bin_deployableAssemblies\de\System.Web.WebPages.resources.dll" because it was not found.  ViMuDat
Error   460 Could not copy the file "_bin_deployableAssemblies\de\System.Web.WebPages.Razor.resources.dll" because it was not found.    ViMuDat
Error   461 Could not copy the file "_bin_deployableAssemblies\de\System.Web.WebPages.Deployment.resources.dll" because it was not found.   ViMuDat
Error   462 Could not copy the file "_bin_deployableAssemblies\de\System.Web.WebPages.Administration.resources.dll" because it was not found.   ViMuDat
Error   463 Could not copy the file "_bin_deployableAssemblies\de\System.Web.Razor.resources.dll" because it was not found. ViMuDat
Error   464 Could not copy the file "_bin_deployableAssemblies\de\System.Web.Helpers.resources.dll" because it was not found.   ViMuDat
Error   465 Could not copy the file "_bin_deployableAssemblies\de\NuGet.Core.resources.dll" because it was not found.   ViMuDat
Error   466 Could not copy the file "_bin_deployableAssemblies\de\Microsoft.Web.Infrastructure.resources.dll" because it was not found. ViMuDat

我尝试构建一个使用 Visual Studio 2010 开发的项目,但我使用的是 Visual Studio 2012。如果我构建它两次,它可以正常工作。

我该如何解决?

我发现Bin Deploying ASP.NET MVC 3_bin_deployableAssemblies 和 MSBuild,但我无法修复这些错误。有人可以逐步解释我应该做什么吗?我是 C# 和 Visual Studio 的新手。

我认为这个错误也是我无法将项目签入 TFS 的问题。

我的bin文件夹中有这些程序集:

D:\...\bin> ls
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        18.12.2012     23:53            de
-a---        15.12.2012     21:11     783648 EntityFramework.dll
-a---        15.12.2012     21:11     834489 EntityFramework.xml
-a---        18.12.2012     23:53      42496 LumenWorks.Framework.IO.dll
-a---        18.12.2012     23:53     116224 LumenWorks.Framework.IO.pdb
-a---        18.03.2010     18:31      53640 System.ComponentModel.DataAnnotati
                                             ons.dll
-a---        18.03.2010     18:31    1328984 System.Data.dll
-a---        18.03.2010     18:31     919880 System.dll
-a---        18.03.2010     18:31      24944 System.Web.Abstractions.dll
-a---        18.03.2010     18:31    2824528 System.Web.dll
-a---        05.01.2011     14:45     130408 System.Web.Helpers.dll
-a---        03.05.2012     08:55      37861 System.Web.Helpers.xml
-a---        05.01.2011     16:42     445280 System.Web.Mvc.dll
-a---        03.05.2012     08:51     777665 System.Web.Mvc.xml
-a---        18.03.2010     18:31      24928 System.Web.Routing.dll
-a---        05.01.2011     14:45     136552 System.Web.WebPages.dll
-a---        03.05.2012     08:55      51735 System.Web.WebPages.xml
-a---        18.03.2010     18:31     941904 System.Xml.dll
-a---        18.12.2012     23:53     244736 ViMuDat.dll
-a---        18.12.2012     23:53     321024 ViMuDat.pdb
-a---        18.12.2012     23:53     125308 ViMuDat.XML
D:\...\bin\de> ls
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        12.01.2011     16:04      15720 System.Web.Helpers.resources.dll
-a---        12.01.2011     17:24      32096 System.Web.Mvc.resources.dll
-a---        12.01.2011     16:04      15208 System.Web.WebPages.resources.dll
4

2 回答 2

9

如果您正在 bin 部署 MVC 3,则必须在部署中打包一些程序集。 Scott Hanselman 也写了一篇关于什么和在哪里的文章。

如果您已复制程序集,请让用户将其作为“内容”添加到您的 Visual Studio 项目中。然后在构建时它们将自动复制到 bin 目录中的正确结构中。

编辑:这是帮助解决问题的文章中的信息:

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies包含丢失的 dll

这些 dll 必须手动复制到_bin_deployableAssemblies我的项目中。

于 2012-12-19T09:10:23.640 回答
5

您可能会发现通过nuget安装软件包更容易。

NuGet 是一个包管理器,可以轻松安装和更新项目中的依赖项。它是一个 Visual Studio 扩展,可以从这里安装。

如果您仍在使用 ASP.NET MVC3,则可以使用命令安装旧版本的包Install-Package Microsoft.AspNet.Mvc -Version 3.0.20105.1

这会将二进制文件添加bin为构建项目时包含在文件夹中的普通引用。这将节省你不得不做的_bin_deployableAssemblies方法。大多数其他流行的 3rd 方框架(以及许多新的 Microsoft Web 堆栈)也可以在 nuget 上使用。

于 2012-12-19T09:26:18.843 回答