Visual Studio中的程序集引用问题

时间:2011-02-23 19:35:11

标签: c# .net wpf visual-studio visual-studio-2010

我在visual studio proj2中创建了一个新项目,我希望它与proj1具有相同的程序集引用,所以我打开了proj1.csproj并复制了:

<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="system" />
<Reference Include="System.Windows" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
<Reference Include="System.Net" />
<Reference Include="System.Windows.Browser" />
</ItemGroup>

并将其粘贴到proj1.csproj中。问题是我的System.Windows程序集引用旁边有一个感叹号,当我尝试单击它时,它说:

  

此项目无法在对象浏览器中查看,因为它不可用或尚未构建。请确保项目可用并已建成。

当然,在我的.cs文件中,它说

  

“System”命名空间中不存在类型或命名空间“Windows”(您是否缺少程序集引用?)

如何让我的程序集引用工作?

5 个答案:

答案 0 :(得分:7)

转到项目属性并确保至少定位到Framework 3.0。

答案 1 :(得分:2)

System.Windows是WPF,它至少需要.NET 3.0才能成为项目的目标。

答案 2 :(得分:2)

根据您的更新评论,以下是Client Profile中的程序集列表。您可能需要引用完整的.NET 4 Framework才能使用System.Windows ...

另请注意System.Windows.dll does not encapsulate System.Windows命名空间;大部分名称空间分布在Presentation*.dll程序集中。仔细检查第一个项目使用的实际引用是否出现在第二个项目中,对于初学者来说。

另请考虑发布.cs文件中导致此错误的代码;您在其中使用的类型实际上可能存在于引用的不同程序集中。

答案 3 :(得分:2)

是的,听起来您的项目所针对的框架版本存在问题。尝试将proj2设置为与proj1具有相同的目标框架。

您可以通过右键单击Visual Studio中的解决方案资源管理器中的项目,选择“属性”,然后在“应用程序”选项卡中查看“目标框架”下拉列表来执行此操作。

或者,您可以打开.csproj文件并确保它们具有匹配的TargetFrameworkVersion标记。此标记通常位于文件顶部附近的ProperyGroup中。

答案 4 :(得分:0)

右键单击该项目,然后转到“添加引用”。

添加最新版本的System.Windows程序集。

然后它应该工作