相关疑难解决方法(0)

Application.Current.Shutdown(); 在未引用的程序集中定义

我收到错误:

错误1类型'System.Windows.Markup.IQueryAmbient'在未引用的程序集中定义.您必须添加对程序集'System.Xaml,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的引用.

执行以下操作时:

public void ExitApplication()
{
    Application.Current.Shutdown();
}
Run Code Online (Sandbox Code Playgroud)

该项目的目标是.NET 4.0,我的Visual Studio是2010,我尝试添加

using System.Windows.Markup; 没有成功,

using System.Xaml; 其中Xaml在命名空间System中不存在.

我该怎么做才能解决这个问题?

c# wpf visual-studio-2010

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

在WindowsForm APP中打开WPF窗口

我在WindowsForm应用程序中添加了一个名为novoLogin的新WPF窗口.

添加后,我添加了system.xaml参考....调试正常.

现在我试图从现有的windowsForm中打开这个新窗口.

novoLogin nl = new novoLogin();
nl.show();
Run Code Online (Sandbox Code Playgroud)

编译器给出了这个错误:

错误1'WindowsFormsApplication1.novoLogin'不包含'show'的定义,并且没有扩展方法'show'可以找到接受类型'WindowsFormsApplication1.novoLogin'的第一个参数(你是否缺少using指令或程序集引用?)

c# wpf winforms

8
推荐指数
2
解决办法
3万
查看次数

WPF中的可移植类库ICommand编译错误 - 不确定如何正确解决此问题?

一些背景资料:

  • 我正在使用VS 2013
  • 我创建了一个可移植类库(目标:.NET 4.5/Silverlight 5/Win Phone 8/Win Store 8)
  • ICommand在我的类中实现了名为的接口MyCommand.

MyCommand.cs:

public class MyCommand : ICommand
{
    public bool CanExecute(object parameter)
    {
        throw new NotImplementedException();
    }

    public void Execute(object parameter)
    {
        throw new NotImplementedException();
    }

    public event EventHandler CanExecuteChanged;
}
Run Code Online (Sandbox Code Playgroud)

我发现当我尝试引用MyCommand在WPF 4.5应用程序中使用该类时,我收到以下错误:

"System.Windows.Input.ICommand"类型在未引用的程序集中定义.您必须添加对程序集'System.Windows,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes'的引用.

我不确定为什么会这样,或者我能做些什么来妥善解决它.在浏览互联网之后,我找到了关于System.Windows.dll 4.0.0.0在我的WPF应用程序中添加引用的答案.这样做允许我编译和运行应用程序,但我的IDE抱怨:

接口成员'void System.Windows.Markup.IComponentConnector.Connect(in,object)'未实现.

这发生在我的MainWindow.cs类中.是否有一个更好的解决方案,而不是只处理这个错误,所以我不是System.Windows.dll在WPF应用程序中添加一个真正不需要它的引用?而且我说它并不真的需要它,因为如果我将MyCommand类复制/粘贴到Wpf应用程序中它可以正常工作.它只有一个问题,因为我试图将它用作可移植类库.


更新:

似乎除此之外还有更多的东西.我创建了一个新的Wpf应用程序并使用NuGet来引用MvvmCross解决方案(因为它有一个MvxCommand对象).当我这样做时,我得到同样的错误.

David Kean 对类似问题的回答表明这应该通过VS2012/VS2013修复,如果没有,只需重新安装/修复.我完全删除了我的VS安装并从头开始重新安装(VS2013),但仍有此问题.那么,这真的是一个错误,还是我在这里做错了什么? …

.net c# wpf portable-class-library visual-studio-2013

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