这是疯狂的,但是当我发布网站时,我似乎无法获得我所有的观点/内容/脚本.这似乎发生了,我相信,当视图或内容没有被我的项目直接引用,而是被我的项目中的另一个程序集使用时.所以我可能有:
> ExternalAssembly.dll引用(它被发布)
>我的主要项目中需要ExternalLogin.cshtml,在我的视图文件夹下
> ExternalLogin.cshtml未发布
解决方法
所以您的浏览文件位于当前项目之外的另一个项目或文件夹中?通常,这些文件必须存在于网站项目中,而在其中的视图文件夹中,而不是外部,并且构建操作应设置为内容,而不是复制到输出文件夹.但有一些解决方法:
>将它们复制到您的网站视图文件夹中,并确保它们被标记为内容(如另一个答案所述).需要注意的一点是,您可以将它们添加到可视化工作室中的“链接文件”,实际上它们可以存在于层次结构中的两个位置,而不必存在于磁盘的两个位置:http://support.microsoft.com/kb/306234
>如果您可以控制外部库,则可以以嵌入式资源或使用Razor Generator或类似的方式编译它们,并使用自定义视图引擎返回它们:How can I make ASP.NET MVC 3 use views (aspx,ascx) files from an external assembly in my website?
>使用复制任务手动将副本放在.csproj构建XML中:http://msdn.microsoft.com/en-us/library/3e54c37h.aspx(请注意,这将使它在Visual Studio中基本上完成您现在正在做的工作,因为如果您添加的话,它将作为Visual Studio构建的一部分它到AfterBuild目标或某事)