【问题标题】:Problem with assembly references in Visual StudioVisual Studio 中的程序集引用问题
【发布时间】:2011-02-23 19:35:10
【问题描述】:

我在 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”(您是否缺少程序集引用?)

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

【问题讨论】:

  • 当我右键单击项目并单击属性时,在“Target Framework”下它显示“.NET Framework 4 Client Profile”。这就是我想要的吗?

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


【解决方案1】:

转到项目属性并确保您的目标至少是 Framework 3.0。

【讨论】:

  • 谢谢...今天帮了我很多忙! :)
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    鉴于您的更新评论,这里是Client Profile 中的程序集列表。您可能需要参考完整的 .NET 4 Framework 才能使用 System.Windows...

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

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

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        【解决方案5】:

        右键单击项目并转到“添加引用”。

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

        那么它应该可以工作

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-12-25
          • 2021-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多