VS2010 c# WPF应用程序:新的WPF项目不能从另一个项目调用静态类方法
本文关键字:WPF 项目 调用 另一个 静态 静态类 类方法 不能 应用程序 新的 VS2010 | 更新日期: 2023-09-27 18:03:11
在我目前的个人项目中,我有一个Core项目,一个DependencyResolution项目和一个UI项目(WPF应用程序)。在UI项目中,我试图调用MainWindow.xaml.cs
和App.xaml.cs
中的DependencyResolution中的DependencyRegistrar
类。UI项目引用DependencyResolution项目时似乎有一个问题,因为这个编译器错误总是发生:
The type or namespace name 'DependencyResolution' does not exist in the namespace
'DMTools.InitiativeTracker' (are you missing an assembly reference?)
D:'Dev'InitiativeTracker'src'UI'App.xaml.cs 2 33 UI
只要在UI的任何地方包含using语句,就会产生该错误。
using System.Windows;
using DMTools.InitiativeTracker.DependencyResolution;
namespace DMTools.InitiativeTracker.UI
{
public partial class App : Application
{ }
}
我可以引用核心项目(using DMTools.InitiativeTracker.Core
)和一切编译正常。此外,我可以在IntegrationTests
项目(另一个类库)中引用DependencyRegistrar
,它编译得很好。
你可以在这里找到完整的源代码。如果您需要更多信息,请随时请求特定的片段。
编辑:我已经通过ReSharper和典型的Visual Studio方式添加了一个对DependencyRegistrar的程序集引用。这两种情况都没有解决问题。对于另一个评论:当我添加对Core静态类(IoC)的引用时,XAML保持不变,但它编译得很好。
Tigran的评论解开了这个谜。在UI项目中,我将Target framework
从"。. NET Framework 4客户端配置文件" to "。. NET Framework 4"并且一切正常。
我能想到的唯一一件事是为什么这是一个问题与DependencyResolution而不是Core是,前者引用第三方实用程序(即Ninject)有问题的客户端配置文件,但我只是猜测在这里。