Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC应用程序引用我的库在运行时失败,但我的控制台应用程序引用同一库成功_C#_Asp.net Mvc_Visual Studio_Dll - Fatal编程技术网

C# MVC应用程序引用我的库在运行时失败,但我的控制台应用程序引用同一库成功

C# MVC应用程序引用我的库在运行时失败,但我的控制台应用程序引用同一库成功,c#,asp.net-mvc,visual-studio,dll,C#,Asp.net Mvc,Visual Studio,Dll,我有一个Visual Studio解决方案(所有代码都在C#中),其结构如下: MySolution | +--MyLibrary (DLL library) | +--MyMVCSite (MVC 5 site) | +--MyConsoleApp (Console app) MyLibrary引用了DLL,它是非托管库OpenCV的一组C包装器。我把所有的OpenCV DLL都“一直复制”到大楼的bin目录中 现在问题来了。在MyConsoleApp,program.cs中,我有以下代码:

我有一个Visual Studio解决方案(所有代码都在
C#
中),其结构如下:

MySolution
|
+--MyLibrary (DLL library)
|
+--MyMVCSite (MVC 5 site)
|
+--MyConsoleApp (Console app)
MyLibrary
引用了DLL,它是非托管库
OpenCV
的一组
C
包装器。我把所有的OpenCV DLL都“一直复制”到大楼的bin目录中

现在问题来了。在
MyConsoleApp
program.cs
中,我有以下代码:

MyLibrary mylib = new MyLibrary();
Image img = Image.FromFile(@"c:\\cat.jpg");
using (MemoryStream ms = new MemoryStream()) {
    img.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
    arr = ms.ToArray();
    mylib.Process(arr);
}
它调用
MyLibrary
代码:

public void Process(byte[] buffer) {
    PreprocessImage(buffer, true);
}

private Image<Gray, byte> PreprocessImage(byte[] buffer, bool resize) {

    Image<Gray, byte> grayImage;
    using (MemoryStream mss = new MemoryStream(buffer)) {
        Bitmap bmpImage = (Bitmap)Image.FromStream(mss);

        Image<Bgr, byte> img = new Image<Bgr, byte>(bmpImage); // <-- Emgu.CV type
        // More processing on img

    }
}
公共作废进程(字节[]缓冲区){
预处理图像(缓冲区,真);
}
私有图像预处理图像(字节[]缓冲区,bool resize){
图像灰度图像;
使用(MemoryStream mss=新的MemoryStream(缓冲区)){
位图bmpImage=(位图)Image.FromStream(mss);

图像img=新图像(bmp图像);//我猜MyMVCSite包含了控制台没有的设置,并且在引擎盖下它试图加载更多的东西。您看到了吗:?我同意,一定有设置差异,可能与我的visual studio设置有关。但是我不确定,甚至不知道从哪里开始查找。有什么建议吗?您提出的问题gested似乎没有帮助。感谢您在我的答案中排除了否定点,我找到了响应,EnguCv不使用IIS Express,将项目属性更改为使用本地IIS,更多详细信息请参见我的答案()