質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

1回答

39999閲覧

WPF,XAMLエラー 名前'○○'が名前空間'○○'に存在しません が出る

ElecDove

総合スコア254

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

XAML

XAML(Extensible Application Markup Language)はWPF、Silverlight、Windows PhoneそしてWindows Store appsでユーザーインターフェースを定義するために使われるXML言語です。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

1グッド

0クリップ

投稿2017/07/09 09:41

編集2017/07/09 09:47

お世話になっております

初歩的なエラーですがどうしても解決できないので質問させていただきます

先の質問で
仮想化しないでも速いCanvasの作り方
このサイトを試してみてはという回答をいただいたので試しているのですが,タイトルに書いたように

エラー CS0234 型または名前空間の名前 'Canvas' が名前空間 'DxfToGcode' に存在しません (アセンブリ参照があることを確認してください)。 DxfToGcode E:\Users\hoge\Documents\Visual Studio 2017\Projects\DxfToGcode\DxfToGcode\MainWindow.xaml 47 アクティブ

というエラーが発生します.

ためしに,新規プロジェクトを立ち上げ,
MainWindow.xaml
MainWindow.xaml.cs
Canvas.cs
のみを実装してみるとうまくいきます.
しかし,今作っているアプリのほうにCanvas.csを入れてやるとエラーが発生してしまいます.

名前空間はもちろん整合させましたし,XAMLデザイナのサジェストではlocal:Canvasがでてきます.

プロジェクトファイルはすべてローカルにあるのでネットワークドライブ系で生じるエラーでもないようですし・・・

ためしに,
MainWindow.xaml.cs
のMainクラスの下に記述してみても同じエラーが生じました

obj,binフォルダの削除,VisualStudio,PCの再起動,
Canvas.csの削除と新規作成,Visual Studioの再インストール,
個人設定ファイルの削除

は試しました

どうぞお力をお貸しください


MainWindow.xaml

XML

1<Window x:Class="DxfToGcode.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:local="clr-namespace:DxfToGcode" 5 Title="MainWindow" Width="900" Height="600"> 6 <Grid x:Name="Grid1"> 7 <local:Canvas x:Name="Canvas1" Margin="9,64,294,60" Background="#FFE0E0E0" MouseDown="Canvas1_MouseDown" MouseMove="Canvas1_MouseMove" MouseUp="Canvas1_MouseUp" MouseWheel="Canvas1_MouseWheel" MouseLeave="Canvas1_MouseLeave" ClipToBounds="True" RenderTransformOrigin="0.5,0.5"> 8 <local:Canvas.RenderTransform> 9 <TransformGroup> 10 <ScaleTransform ScaleY="-1" ScaleX="1"/> 11 <SkewTransform AngleY="0" AngleX="0"/> 12 <RotateTransform Angle="0"/> 13 <TranslateTransform/> 14 </TransformGroup> 15 </local:Canvas.RenderTransform> 16 </local:Canvas>

C#

1using System; 2using System.Collections.Generic; 3using System.Collections.ObjectModel; 4using System.ComponentModel; 5using System.Linq; 6using System.Text; 7using System.Threading.Tasks; 8using System.Windows; 9using System.Windows.Media; 10 11namespace DxfToGcode { 12//ここから下はリンク先ソースから何もいじっていません 13 public class Canvas : FrameworkElement.................... 14} 15
iwamoto_takaaki👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ビルドするとエラー消えませんか?
カスタム部品を作った場合、ビルドしないと実行ファイルができず、実行ファイルができないとXAMLから参照できずエラーとなります。
追記:
ビルドできないときは、一度XAMLのカスタム参照を解除してからビルドし、その後にXAMLにカスタム参照を追加してください。
確かexeを消すたびにこの工程が必要になると思いますが、カスタム部品をDLL化して別出しし、それを参照すればエラーは出るもののビルドはできるようになったと思います。
Solution1
├MainProject (EXE)
└CustomControlProject (DLL)
MainProjectから参照設定でCustomControlProjectを入れる。名前空間に注意。

投稿2017/07/09 10:44

編集2017/07/09 11:05
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ElecDove

2017/07/09 11:43

回答ありがとうございます > カスタム部品を作った場合、ビルドしないと実行ファイルができず、 そうなのですね・・・ビルドしてから再度やってみたところ今度はエラーも出ずにうまくいくようになりました! ある種仕方のないことなのかもしれませんが,そこは開発環境側で二段階にビルドするとかしてほしいものです そういえばWinFormのときも同じような症状ありましたね・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問