我正在 64 位 Windows 7 上的 Visual Studio 2010 中编译 MVC2 应用程序。我正在运行以下命令作为构建后事件命令:
aspnet_compiler.exe -v / -p \
它会导致以下错误:-
The CodeDom provider type "Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" could not be located
我的解决方案中没有 J#。我已经下载了 J# 2.0 可再发行组件包第二版,但这没有帮助。
有趣的是,我在一个全新的 MVC2 解决方案中运行它并得到了同样的错误!所以这与我的申请无关。
我错过了什么导致了这个错误?
我读过许多其他帖子,说您需要安装可再发行组件,在 web.config 中添加引用等,但它们没有帮助。
有什么想法吗??
最佳答案
我今天遇到了这种情况,并找到了某种解决方案。
我正在使用 VS 2010 和一个 ASP.NET MVC 3 站点,使用 Razor,在 IIS(不是 IIS Express 或 Cassini)中运行。
在我的例子中,这个错误出现在我的 .cshtml View 中。对于我打开的任何 View ,第一个 @using
行带有下划线并带有错误:
C:\PathToMyCode\PathToMyViews\Index.cshtml: ASP.NET runtime error: Could not load file or assembly 'VJSharpCodeProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. An error relating to security occurred. (Exception from HRESULT: 0x8013150A)
整个页面还存在奇怪的错误,例如两个同名程序集之间的引用不明确(例如,“System.Web.Helpers”和“System.Web.Helpers”之间可能存在冲突)。
原因:我在没有足够权限的用户帐户下运行该网站。该帐户具有 IIS_IUSRS 角色,但显然还需要其他角色或访问权限这项工作,或者它可能需要访问它无法访问的特定文件夹。
不幸的是,我不知道它是什么,而且在我已经花了太多时间试图弄清楚这是怎么发生的之后,我对浪费时间来弄清楚它的想法并不感到兴奋。
但是给该用户管理员角色解决了错误。
我知道这不是一个理想的解决方案,但我希望至少它能让一些人摆脱困境。如果有人确切地知道需要什么权限来防止此错误,请在下面发表评论,也许我们可以缩小范围。
关于c# - aspnet_compiler 在 C# mvc2 应用程序上寻找 jsharp 代码提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4993624/