小编And*_*ndy的帖子

VS2013:查找资源字典时发生错误

我刚刚获得VS2013并打开了我的VS2010项目.但是现在我看不到任何xaml设计.问题是没有应用样式:

   <UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Themes/Colors.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

给我错误:

错误1查找资源字典"/Themes/Colors.xaml"时发生错误.

这在VS2010中工作正常.构建选项设置为Page.所有目标框架都设置为.NET 4.

目录结构是这样的:

Host\Themes\Colors.xaml    
Plugins\EqPlugin\Source\ProblemFile.xaml
Run Code Online (Sandbox Code Playgroud)

主题在VEParameters项目中定义并声明:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:local="clr-namespace:EQPlugin;assembly=VEParameterTool">
Run Code Online (Sandbox Code Playgroud)

发生错误的文件位于EqPlugIn目录中并声明:

<UserControl x:Class="EQPlugin.EQControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:src="clr-namespace:VEParameterTool;assembly=VEParameterTool"             
             xmlns:l="clr-namespace:EQPlugin"  
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:oxy="http://oxyplot.codeplex.com"
             mc:Ignorable="d">
Run Code Online (Sandbox Code Playgroud)

我已经尝试将路径更改为相对路径,但这不起作用,我已删除并重新添加程序集,我已重新启动等,所有项目都是为同一框架构建的.我不知道还有什么可以尝试的.

wpf visual-studio-2013

5
推荐指数
1
解决办法
5268
查看次数

无法在C#Project中重新加载C++ dll

我希望那里有人可以帮助我将C++ DLL加载和重新加载到C#项目中.

我正在使用文件选择器将C++ DLL加载到我的项目中,然后将其复制到名为Process.dll的文件中.然后我使用这个dll来做它的事情然后我需要能够加载一个新的dll并让它做它的事情.

所以它是这样的:

  1. 用户选择一个DLL
  2. dll被复制到Processor.dll
  3. 使用dll import的我的Processor类来使用dll
  4. 使用DLL并调用其各种功能等
  5. 回到1.

我有2节课

  1. ProcessTab - 具有GUI并在ProcessPlugin中调用类的C#类
  2. ProcessPlugin - 调用C++类的C#类,它使用dllImport等

代码如下所示:

class ProcessorTab
{
    private void buttonLoadProcDll_Click(object sender, RoutedEventArgs e)
    {
        // Open dll and copy it to "\\Processor.dll"

        processorPlugIn = new ProcessorPlugIn(this);
        return;
    }

    private void DestroyProcessor_Click(object sender, RoutedEventArgs e)
    {
        processorPlugIn.UnloadModule("Processor.dll");
        processorPlugIn = null;
    }
}

class ProcessorPlugIn
{ 
    public const string PluginName = "Processor.dll";

    public LibraryInfo info;
    ErrorCode err;
    private IntPtr pRxClass;
    private IntPtr pTxClass;

    [DllImport("kernel32", SetLastError = true)] …
Run Code Online (Sandbox Code Playgroud)

.net c# c++ dll

3
推荐指数
1
解决办法
249
查看次数

标签 统计

.net ×1

c# ×1

c++ ×1

dll ×1

visual-studio-2013 ×1

wpf ×1