C# mvc项目开发碰到问题,访问方法访问不到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# mvc项目开发碰到问题,访问方法访问不到相关的知识,希望对你有一定的参考价值。

其中,控制器是通过建立类,把后缀写成Controller.cs视图不是生成的,而是在项目里的文件夹点击右键添加的 ,跟这个应该没有关系吧

运行结果出现
,,,,,

参考技术A 一:查看一下BaseController有没有继承Controller。
二:看一下你的路由配置(很有可能是这个造成的)

三:还有可能是你项目没有生成一下:生成项目试试追问

有!控制器是通过建立类把后缀写成Controller.cs的,视图不是生成的,而是在项目里的文件夹点击右键添加的 有关系没

追答

知道了,你class Product 前没有添加 public 修饰

本回答被提问者采纳
参考技术B 一:查看一下BaseController有没有继承Controller。
二:看一下你的路由配置(很有可能是这个造成的)

追问

有!控制器是通过建立类把后缀写成Controller.cs的,视图不是生成的,而是在项目里的文件夹点击右键添加的 有关系没

参考技术C 这个是真心不会,感觉你们问的问题都好难哦。。。 参考技术D BaseController继承controller吗?

无法访问已部署的 c# mvc 项目上的 dll 文件

【中文标题】无法访问已部署的 c# mvc 项目上的 dll 文件【英文标题】:Unable to access dll file on deployed c# mvc project 【发布时间】:2016-03-17 00:31:33 【问题描述】:

我有一个 c# mvc 应用程序,它使用 c++ dll 进行一些较重的统计计算。当我在本地运行它时一切正常,但在我部署的应用程序上,我得到的只是

异常: 无法加载 DLL 'HandCalculatorDll.dll':找不到指定的模块。 (HRESULT 异常:0x8007007E)

c#模型正在使用

    [DllImport("HandCalculatorDll.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern bool CalculateWinner(int[] req);
    public RoundResult CalculateWinnerDll(List<Hand> hands, List<Card> board)
    
        // set up the request
        // calls the dll
        var success = CalculateWinner(reqArr);
        // interpret the response
        return result;
    

我尝试了几种不同的方法,但对于 已部署 项目似乎没有任何效果。我尝试将 dll 添加到项目中并将其从项目中删除(基于不同的建议)。我尝试了几种相对路径和绝对路径的变体。我用过

    System.Web.Hosting.HostingEnvironment.MapPath("/bin");

要在主机 PC 上找到绝对路径,将 dll 放在该 bin 文件夹中,并将该路径用作 DllImport 属性。

不幸的是,我发现的大多数建议/解决方案仅适用于本地调试。有谁知道如何解决这个问题?

更新 我将整个项目复制到另一台计算机上运行它,并且该计算机抛出了与我发布时相同的“无法加载 DLL”错误。我在第二台计算机上以与家用计算机完全相同的方式运行所有内容,并且我验证了该文件在那里。现在我真的很困惑......

【问题讨论】:

只要确保:您是否在 VS 项目中包含了该 DLL?如果是这样,您是否设置了它的属性,以便在构建时将其复制到输出目录? 是的,两种方法我都试过了。没有骰子... 发布后,您的 dll 是否在 bin 文件夹中?你的 dll 是 32 位的吗?尝试将您的 Web 项目设置为 x86 或在 IIS 中将应用程序池设置为 32 位。 我正在使用 32 位编译项目。当我第一次将项目发布到主机时,它不会运行。在我的主机控制面板上单击“启用 32 位支持”后,该站点就可以访问了。但是没有任何 IIS 特定的控件。 就 bin 文件夹中的 dll 而言,我尝试从多个位置运行它,包括 bin。 【参考方案1】:

尝试右键单击项目中的引用,单击属性并确保将其设置为复制本地。

【讨论】:

我目前将“复制到输出目录”设置为“如果较新则复制”,但我不确定这是否是您所指的。 听起来不错。另一件事是确保您的 dll 所在的文件夹在您的项目中。因为发布时只会将项目中的文件夹复制到服务器 我尝试了几种变体,包括从主项目文件夹运行 dll。似乎没有任何效果。 你是如何部署的?您是使用 Web 部署,还是有其他发布方式? 我的主机不支持网络部署,所以我使用 FTP 部署。

以上是关于C# mvc项目开发碰到问题,访问方法访问不到的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc项目部署以后通过域名访问,IIS好像找不到默认文档

asp.net MVC路由问题? 删除默认路由可以正常访问 路由配置请看下面内容 asp.net?dotNet编程? C#语言编程

c# 中的解决方案架构,其中 winforms 和 asp.mvc 共享业务逻辑和数据访问 [关闭]

保护 MVC4 c# webapi,以便只有我的应用程序可以访问它

JavaWEB项目静态资源访问问题

关于vue打包后,访问不到页面和访问不到图片。