C#WPF构建错误:CS0234名称空间*

时间:2018-01-04 17:27:14

标签: c# wpf xaml visual-studio-2017

几天后我一直在研究这个错误,但我还没有找到解决方案。

在我的项目' Arcanium'中,抛出此错误:

  

类型或命名空间名称' GameWindow'不存在于   namespace' Arcanium.Arcanium.ClientSide' (你错过了一个集会吗?   引用?)

[编辑]错误在GameWindow.xaml的第8行抛出

以下是课程: GameWindow.xaml(Arcanium.Clientside):

<Window x:Name="Arcanium" x:Class="Arcanium.ClientSide.GameWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:Arcanium.ClientSide"
    mc:Ignorable="d"
    Title="Arcanium" Height="512" Width="512" Activated="OnActivated" Closing="OnClosing" KeyDown="OnKeyDown" KeyUp="OnKeyUp" SizeChanged="OnSizeChanged">
<Grid>

</Grid>

GameWindow.xaml.cs(Arcanium.ClientSide):

using Arcanium.ClientSide.Engine;
using Arcanium.Engine.Graphics;
using Arcanium.Engine.User;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace Arcanium.ClientSide {
    /// <summary>
    /// Interaction logic for GameWindow.xaml
    /// </summary>
    public partial class GameWindow : Window {


public static int SizeX { get; private set; }
public static int SizeY { get; private set; }

private static GameWindow _window;

public GameWindow() {
    InitializeComponent();
    _window = this;
}

public static void DrawFrame(FastBitmap frame) {
    _window.Background = new ImageBrush(ImageSourceForBitmap(frame.GetBitmap()));
    frame.Dispose();
}

private static ImageSource ImageSourceForBitmap(Bitmap bmp) {
    var handle = bmp.GetHbitmap();
    try {
        return Imaging.CreateBitmapSourceFromHBitmap(handle, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
    } finally { NativeMethods.DeleteObject(handle); }
}

private void OnActivated(object sender, EventArgs e) {
    SizeX = 512;
    SizeY = 512;

    Game.ActivateGameLoop();
}

private void OnClosing(object sender, System.ComponentModel.CancelEventArgs e) {
    Game.Running = false;
}

private void OnKeyDown(object sender, KeyEventArgs e) {
    Input.HandleKeyboardPress(e.Key);
}

private void OnKeyUp(object sender, KeyEventArgs e) {
    Input.HandleKeyboardRelease(e.Key);
}

private void OnSizeChanged(object sender, SizeChangedEventArgs e) {
    throw new NotImplementedException();
}


}
}

(我无法弄清楚格式正确,这是我第一次问这里)

我已经尝试了几件事。

  1. 奇怪的是编译器在命名空间中搜索GameWindow&#39; Arcanium.Arcanium.Clientslide&#39;我的班级在Arcanium.ClientSide&#39;。为了防止这种情况,我尝试从类路径中删除Arcanium(GameWindow.xaml,第1行),这导致它找不到事件的方法(在GameWindow.xaml,第8行注册),而不是知道了InitializeComponent()方法,导致我的结论GameWindow.xaml.cs不能再被正确继承了。

  2. 我尝试重启Visual Studio和我的整台计算机

  3. 我尝试过清理和重建项目

  4. 我已尝试将目标平台从x64更改为x32并返回(如this question中所述)

  5. [编辑]我尝试删除Window(两个类)并重新添加它们。一旦我注册了这些事件,就会出现错误。

  6. 只有在我尝试构建项目时才会出现此错误。 Visual Studio没有在文本编辑器中标记它。

    当我尝试将Xaml中的x:Class路径更改为&#39; GameWindow&#39;时,正如Bijan所要求的那样,它似乎找到了类,但没有找到它中的方法,它将InitializeComponent()标记为不存在。

    任何提示?

0 个答案:

没有答案