Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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++/CLI程序集加载FileNotFoundException_C++_.net_Dll_C++ Cli_.net Assembly - Fatal编程技术网

C++/CLI程序集加载FileNotFoundException

C++/CLI程序集加载FileNotFoundException,c++,.net,dll,c++-cli,.net-assembly,C++,.net,Dll,C++ Cli,.net Assembly,我正在使用C++/CLI制作photoshop插件。项目中的一些文件被编译为本机代码,一个文件被编译为托管代码。正因为如此,我不能在项目级添加对程序集的引用,而是通过使用语句在文件级添加对程序集的引用 我成功引用了System.dll、Windows.dll、PresentationFramework.dll和WindowsBase.dll。intellisense存在一些问题,它不希望加载元数据,但编译时不会出错。我通过声明程序集的全名解决了intellisense问题 但是,我不能添加对自己

我正在使用C++/CLI制作photoshop插件。项目中的一些文件被编译为本机代码,一个文件被编译为托管代码。正因为如此,我不能在项目级添加对程序集的引用,而是通过使用语句在文件级添加对程序集的引用

我成功引用了System.dll、Windows.dll、PresentationFramework.dll和WindowsBase.dll。intellisense存在一些问题,它不希望加载元数据,但编译时不会出错。我通过声明程序集的全名解决了intellisense问题

但是,我不能添加对自己的非框架程序集的引用。当我在Photoshop中加载插件并调试它时,我得到以下错误>

未知模块中发生“System.IO.FileNotFoundException”类型的未处理异常

其他信息:无法加载文件或程序集“ColorPickerControl,Version=1.0.0.0,Culture=neutral,PublicKeyToken=2317994184a7a708”或其依赖项之一。系统找不到指定的文件

我试图更改dll的目标框架,使程序集共享为公共的-因此PublicKeyToken不是空的-将其他程序集名称返回到它们的短名称。我更改了它们,因为intellisense没有加载元数据。没用

有什么建议吗?这可能是目标框架的问题,但我不知道什么应该被称为目标框架。它是C++/CLI—没有像C中那样的属性对话框,您可以轻松地选择目标框架

我的代码:

#using <System.dll>
#using <PresentationCore.dll>
#using <PresentationFramework.dll>
#using <WindowsBase.dll>


#using <C:\Users\Bogdan\Desktop\ColorPickerControl.dll>


using namespace System;
using namespace System::Windows;
using namespace System::Windows::Controls;
using namespace System::Windows::Media;
//using namespace ColorPickerControlNamespace;


char __cdecl fManaged2(const char* input)
{


    Window^ w = gcnew Window();
    Label^ l = gcnew Label();
    l->Content = "This works!";
    l->Background = Brushes::Orange;
    TextBox^ txt = gcnew TextBox();
    txt->Width = 300;
    txt->Height = 25;
    Grid^ g = gcnew Grid();
    g->Children->Add(l);
    g->Children->Add(txt);


    ColorPickerControlNamespace::ColorPickerControl^ c = gcnew ColorPickerControlNamespace::ColorPickerControl();


    w->Content = g;
    w->ShowDialog();

    Byte bb = Convert::ToByte(txt->Text);
    return bb;
}
另见