C# C Web Api/MVC.net未正确加载程序集
一般来说,我对C和.net都是新手,我需要使用它来与我们使用的主要软件的SDK一起工作 我可以将他们告诉我要添加的程序集添加到控制台应用程序中,一切正常。当我尝试将它们添加到任何web应用程序(MVC或WebAPI)时,我不断收到错误消息,表示缺少其他程序集。最后,我只是添加了每个程序集/引用,不确定这是正确的术语,几乎只是sdk文件夹中的.dll文件,现在它可以工作了。这绝对不是正确的方法 我是否缺少允许程序集/引用加载其他程序集/引用的内容,或者是其他原因导致我的问题 更新: 例外情况通常是这样的:C# C Web Api/MVC.net未正确加载程序集,c#,.net,asp.net-mvc,asp.net-web-api2,C#,.net,Asp.net Mvc,Asp.net Web Api2,一般来说,我对C和.net都是新手,我需要使用它来与我们使用的主要软件的SDK一起工作 我可以将他们告诉我要添加的程序集添加到控制台应用程序中,一切正常。当我尝试将它们添加到任何web应用程序(MVC或WebAPI)时,我不断收到错误消息,表示缺少其他程序集。最后,我只是添加了每个程序集/引用,不确定这是正确的术语,几乎只是sdk文件夹中的.dll文件,现在它可以工作了。这绝对不是正确的方法 我是否缺少允许程序集/引用加载其他程序集/引用的内容,或者是其他原因导致我的问题 更新: 例外情况通常是
Could not load file or assembly 'Server, Version=1.5.1.0, Culture=neutral, PublicKeyToken=d11ef57bba4acf91' or one of its dependencies. The system cannot find the file specified.
在构建过程中不会发生这种情况,在我的例子中,只有当函数实际从web应用程序调用时才会发生,因为它是一个api,当我访问返回JSON数据的URL时您可以使用与Visual Studio一起安装的名为IL反汇编程序的工具来查看SDK程序集所依赖的其他依赖项 安装位置可能会有所不同,但我的在这里。。。 C:\Program Files x86\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6 Tools\ildasm.exe 将您正在使用的SDK程序集拖放到工具上,然后单击manifest字段。将打开一个对话框,其中包含您需要包含的其他程序集
您可以使用与Visual Studio一起安装的名为IL反汇编程序的工具来查看SDK程序集所依赖的其他依赖项 安装位置可能会有所不同,但我的在这里。。。 C:\Program Files x86\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6 Tools\ildasm.exe 将您正在使用的SDK程序集拖放到工具上,然后单击manifest字段。将打开一个对话框,其中包含您需要包含的其他程序集
如果控制台应用程序正常工作,但web应用程序不正常,则异常应指定缺少的程序集 将控制台输出目录与web构建的输出目录进行比较。确保所需的dll已部署到正在运行的web目录中
在visual studio和web项目中,在“引用”下找到程序集并将其选中。确保属性Copy Local设置为TRUE。如果您的控制台应用程序工作,但web应用程序不工作,则异常应指定缺少哪个程序集 将控制台输出目录与web构建的输出目录进行比较。确保所需的dll已部署到正在运行的web目录中
在visual studio和web项目中,在“引用”下找到程序集并将其选中。确保属性Copy Local设置为TRUE。dll-s的物理位置在哪里?所有其他必需的dll都在同一个文件夹中吗?dll-s都在同一个文件夹中,就像我之前所说的,当我只包含sdk指南中说的在构建控制台应用程序时包含的dll时,它可以正常工作。它只在构建web应用程序时才会这样做。带有DLL的文件夹是在应用程序文件夹中还是在其他地方?您何时会遇到问题/错误?当您尝试构建或尝试运行应用程序时?更具体的错误描述…很难猜测,但根据您的控制台应用程序所做/调用或依赖的内容,可能与同一SDK包中的web应用程序所依赖的内容完全不同。dll-s的物理位置在哪里?所有其他必需的dll都在同一个文件夹中吗?dll-s都在同一个文件夹中,就像我之前所说的,当我只包含sdk指南中说的在构建控制台应用程序时包含的dll时,它可以正常工作。它只在构建web应用程序时才会这样做。带有DLL的文件夹是在应用程序文件夹中还是在其他地方?您何时会遇到问题/错误?当您尝试构建或尝试运行应用程序时?更具体的错误描述……很难猜测,但取决于您的控制台应用程序所做/调用或依赖的内容,可能与同一SDK包中的web应用程序所依赖的内容完全不同。