添加其他项目后,WPF解决方案无法处理名称空间

时间:2017-09-09 17:12:18

标签: c# wpf namespaces

我正在开发一个wpf项目,我希望在其中包含一个"旋转木马"控制。

我在这里下载了旋转木马控件的代码:

https://www.codeproject.com/Articles/181835/WPF-Carousel-Control

下载的代码不仅包含carousel-libary,还包含展示轮播控件的可运行项目。

我能够运行这个项目。旋转木马控制工作正常。

然后想把carousel-libary添加到我的项目中。

为此我做了以下事情:

  1. 右键单击解决方案
  2. 选择"添加"
  3. 选择"现有项目......"
  4. 选择轮播库
  5. 再次构建解决方案
  6. 问题是我的解决方案无法在添加的项目中处理命名空间: 当我想使用Carousel-Library中的Carousel-Control时,我收到了错误消息,例如:

    汇编'轮播'没找到。验证您没有错过程序集引用。另外,请验证是否已构建项目和所有引用的程序集。

    名称" CarouselControl"命名空间中不存在" clr-namespace:Carousel; assembly = Carousel"。

    ...执行以下操作后,我收到了以下错误消息:

    1. 我将一段代码从MainWindow.xaml文件(在Carousel-Demo-Project中)复制到我项目中的MainWindow.xaml文件中。
    2. 我也复制了这行

      xmlns:Carousel="clr-namespace:Carousel;assembly=Carousel"
      
    3. 来自Carousel-Demo-Project文件MainWindow.xaml中的Window标签 到我自己项目的MainWindow.xaml文件中的Window标签。

      这是Carousel-Demo项目的窗口标记:

      <Window x:Class="CarouselMVVM.MainWindow"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:Carousel="clr-namespace:Carousel;assembly=Carousel"
              Title="MVVM Carousel Demo"
              WindowStyle="ToolWindow"
              WindowStartupLocation="Manual"
              Left="0"
              Top="0"
              Background="Black"
              Width="800" Height="600">
      

      我认为通过包含行

           xmlns:Carousel="clr-namespace:Carousel;assembly=Carousel"
      

      在我自己项目中的MainWindow.xaml文件的Window Tag中,我已经为编译器提供了所需的所有信息。

      但不知何故,我的解决方案仍然无法处理添加项目中的命名空间。

      有没有人知道我必须做些什么才能解决所添加项目的名称空间?

      ********* UPDATE ************** **************************

      在评论者tabby指出添加项目后还不包括添加对该项目的引用时,我通过添加对Carousel-Project的引用来更正此省略。

      现在上述错误消息已消失,但其他错误消息仍然存在。

      大多数属于以下类型:

      The name "XYZ" does not exist in the namespace "bla".   
      

      以下是该类型的所有错误消息:

      名称&#34; PathListBoxItem&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; LayoutPath&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; InvokeCommandAction&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; InvokeCommandAction&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; PathListBox&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; PathListBoxScrollBehavior&#34;命名空间中不存在&#34; clr-namespace:Expression.Samples.PathListBoxUtils; assembly = Expression.Samples.PathListBoxUtils&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; PathListBoxItem&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; IsArrangedToScaleConverter&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; EventTrigger&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; EventTrigger&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; AdjustedOffsetToRadiusConverter&#34;命名空间中不存在&#34; clr-namespace:Expression.Samples.PathListBoxUtils; assembly = Expression.Samples.PathListBoxUtils&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34;互动&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; InvokeCommandAction&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; EventTrigger&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; IsArrangedToScaleConverter&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      属性&#34; LayoutOverrides&#34;并且不存在于&#34; http://schemas.microsoft.com/expression/blend/2008&#34;命名空间。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34;互动&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/interactivity&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; PathListBoxItemTransformer&#34;命名空间中不存在&#34; clr-namespace:Expression.Samples.PathListBoxUtils; assembly = Expression.Samples.PathListBoxUtils&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; PathListBox&#34;命名空间中不存在&#34; http://schemas.microsoft.com/expression/2010/controls&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      名称&#34; PathListBoxItemTransformer&#34;命名空间中不存在&#34; clr-namespace:Expression.Samples.PathListBoxUtils; assembly = Expression.Samples.PathListBoxUtils&#34;。 MyProject C:\ Users \ manfr \ OneDrive \ Dokumente \ Visual Studio 2017 \ Projects \ Carousel \ Carousel \ Carousel \ CarouselControl.xaml 1

      显然编译器无法找到应该在文件的第一个标记中引用的名称空间内的东西&#34; CarouselControl.xaml&#34;。

      以下是该文件的第一个标记:

      <UserControl x:Class="Carousel.CarouselControl"
                  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                  xmlns:ec="http://schemas.microsoft.com/expression/2010/controls" 
                  xmlns:PathListBoxUtils="clr-namespace:Expression.Samples.PathListBoxUtils;assembly=Expression.Samples.PathListBoxUtils" 
                  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
                  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
                  xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" 
                  xmlns:local="clr-namespace:Carousel"
                  mc:Ignorable="d"
                  d:DesignHeight="300" d:DesignWidth="300">
      

      问题是:引用的所有对象确实在这些命名空间内(我知道这是因为当我运行Carousel-Demo-Project时,我没有收到这些错误消息)。

      那么这里有什么问题?

      *************************更新2 ******************** ********

      经过一些研究后我发现了这篇文章:

      WPF - CustomControl does not exist in the namespace

      ...因此查看了&#34; Carousel-project&#34;的属性。

      我做了以下事情:

      1. 右键点击项目&#34; Carousel&#34;
      2. 选择&#34;属性&#34;
      3. 选择&#34;构建&#34;
      4. 这就是我所看到的:

        enter image description here

        问题是我无法改变&#34;平台&#34;的价值。在配置部分(只有选项&#34; Active(x86)&#34;给出)。

        我能够改变的是&#34;平台目标&#34; (在&#34; General&#34;部分)。我将其更改为&#34;任何CPU&#34;:

        enter image description here

        正如您所看到的,&#34;平台&#34;的价值在Configuration部分保持与以前相同。

        我首先再次构建Carousel-Project,工作正常,然后我尝试构建整体解决方案。这仍然没有工作,我得到了与以前相同的错误信息。

        我不知道我能做什么了。 如果有人有线索,请告诉我。

0 个答案:

没有答案