这很奇怪,
我有一个包含两个项目的解决方案......
Genesis.Domain - 是一个类库并且其中包含存储库。
Genesis_0_02 - 有实际的MVC控制器,视图等......而且它是启动项目
我正在修改存储库和mvc项目。我能够添加几个视图,但自动视图生成(右键单击+“添加视图”)停止工作。
弹出错误对话框,显示错误和堆栈跟踪。我不能复制粘贴它,但基本上它说:
C:\pathto\CodeTemplates\AddView\Empty.tt(-1,-1): error : An exception was thrown
while running the transformation code. The process cannot continue. The following
exception was thrown:
System.IO.FileNotFoundException: Could not load file or assembly 'Genesis.Domain,
Version=1.0.0.0, Culture Neutral, etc.etc.' or one of its dependencies. The system
cannot find the file specified.
File name: 'Genesis.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
其次是我无法复制粘贴的堆栈跟踪。
是什么导致这个? Genesis.Domain被引用,并已通过所有开发引用。项目/解决方案编译得很好,运行正常。
我可以使用Genesis_0_02命名空间中的模型/类来创建视图。但不是来自Genesis.Domain命名空间。 (即使Genesis.Domain类确实显示在列表中。)
此外,在“添加视图”类列表中弹出了不常见的类。它们看起来像这样:
Genesis_0_02.Controllers.AdminMemberController+<>c__DisplayClass8+<>c__DisplayClasse>
我不知道那些来自哪里。
可能导致这种情况的原因是什么?如何让“添加视图”功能再次运行?
顺便说一句:我可以手动创建新视图,但它们确实有用。
答案 0 :(得分:1)
我有同样的问题。一位正在工作的同事通过调试模板过程解决了这个问题。他发现VS2010总是在本地文件夹中查找dll,在我们的例子中是:
“C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \”
我们在这个位置创建了文件夹后,我们将Dll及其依赖项放在此文件夹中,错误就消失了。
它认为这是VS2010中的明确错误。
我们必须在上面的路径中添加与引用的Dll的名称相匹配的文件夹。
答案 1 :(得分:0)
这听起来像你的类库项目的引用被搞砸了。您是否尝试从解决方案中删除类库项目,然后将项目重新添加到解决方案中?
我自己从未遇到过这个问题,但这是从这些错误信息中想到的唯一问题。
答案 2 :(得分:0)
这种行为很奇怪。我见过VS2008的怪异。
尝试以下几项事项
1]创建一个新的MVC Web项目并添加对Genesis.Domain的引用。并查看控制器的“添加视图”是否适用于它。
如果是,则在您的工作项目中验证web.config文件(在Under Views文件夹中)下面的配置 - 具体来说
PageParserFiltertype
<pages
validateRequest="false"
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
</pages>
如果没有 然后尝试在开发机器上重新安装Framework和VS2010 MVC 2/3。
你也可以使用下面的链接 http://bradwilson.typepad.com/blog/2010/03/diagnosing-aspnet-mvc-problems.html
祝你好运!