繁体   English   中英

Visual Studio中的程序集引用问题

[英]Problem with assembly references in Visual Studio

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

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

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

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

根据您的更新注释,以下是客户端配置文件中的程序集列表。 您可能需要引用完整的.NET 4 Framework才能使用System.Windows ...

另请注意,System.Windows.dll 不会封装 System.Windows命名空间; 大部分名称空间分布在Presentation*.dll程序集中。 仔细检查第一个项目正在使用的实际引用是否出现在第二个项目中。

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

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

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

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

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

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

然后它应该工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM