WPF 解决方案中包含项目和引用的路径

假设有一个解决方案,引用了本地电脑的其它的项目(不在这个方案目录下)。现在,你把这个解决方案复制了一份,再用VS打开,会发现包含的方案加载不了,而且引用中这个Dll也显示黄色叹号?这个时候有两种方法解决问题。

  1. 在“解决方案资源管理器”中,卸载掉对应的项目,和对应的Dll,重新加载项目并且重新引用。

  1. 打开解决方案文件夹,右键用编辑器打开".sln"解决方案文件,大概是这个样子:

Microsoft Visual Studio Solution File, Format Version 12.00

# Visual Studio Version 16

VisualStudioVersion = 16.0.32510.428

MinimumVisualStudioVersion = 10.0.40219.1

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Motion", "Motion\Motion.csproj", "{020616CF-A0F1-4531-B9B3-F88FECB41086}"

EndProject

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MotionCard", "..\Device\MotionCard\MotionCard\MotionCard.csproj", "{1F786901-D625-4163-AC7C-2F2E5EFF44D7}"

EndProject

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utility.Common", "..\Utility\Utility.Common\Utility.Common\Utility.Common.csproj", "{7DE06D1C-38B2-4343-8330-BBDC44D591DD}"

EndProject

Global

……

……

EndGlobal

注意红字部分,这里就是我们的解决方案中包含的项目文件,使用的是相对路径,修改为新的相对路径就好。

  1. 上面解决了解决方案中包含的项目加载问题,引用Dll的问题可以进入项目文件夹,右键用编辑器打开“.csproj”文件,这个是我们这个项目的项目文件。内如如下:

<?xml version="1.0" encoding="utf-8"?>

<Project ToolsVersion="15.0" xmlns="" target="_blank">http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

<PropertyGroup>

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>

<ProjectGuid>{020616CF-A0F1-4531-B9B3-F88FECB41086}</ProjectGuid>

<OutputType>WinExe</OutputType>

<RootNamespace>Motion</RootNamespace>

<AssemblyName>Motion</AssemblyName>

<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

<FileAlignment>512</FileAlignment>

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

<WarningLevel>4</WarningLevel>

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

<Deterministic>true</Deterministic>

</PropertyGroup>

……

……

<ItemGroup>

<ProjectReference Include="..\Device\MotionCard\MotionCard\MotionCard.csproj">

<Project>{1f786901-d625-4163-ac7c-2f2e5eff44d7}</Project>

<Name>MotionCard</Name>

</ProjectReference>

<ProjectReference Include="..\Utility\Utility.Common\Utility.Common\Utility.Common.csproj">

<Project>{7de06d1c-38b2-4343-8330-bbdc44d591dd}</Project>

<Name>Tatfook.Utility.Common</Name>

</ProjectReference>

</ItemGroup>

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

</Project>

同样,红字部分就是我们的解决方案中应用的项目文件,使用的是相对路径,修改为新的相对路径就好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值