Visual Studio 2019移动BLL/DLL后项目加载失败求助
解决MVVM三层架构项目移动文件夹后无法加载的问题
步骤1:整理目标文件夹结构
- 新建一个统一的父文件夹(比如
MVVM_Complete_Project),将DLL、BLL、View三个项目文件夹全部移入该父目录。 - 将解决方案文件(
.sln)也移到这个父目录下(如果之前不在的话),确保最终结构为:MVVM_Complete_Project/ ├── YourSolution.sln ├── DLL/ │ └── DLL.csproj ├── BLL/ │ └── BLL.csproj └── View/ └── View.csproj
步骤2:更新解决方案文件(.sln)中的项目路径
- 用记事本或任意文本编辑器打开
.sln文件,找到每个项目的定义块,格式类似:Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BLL", "旧路径\BLL.csproj", "{项目GUID}" EndProject - 将路径部分改为相对于解决方案文件的相对路径,修改后示例:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BLL", ".\BLL\BLL.csproj", "{项目GUID}" - 对DLL和View项目做同样修改,保存
.sln文件。
步骤3:修复项目间的引用路径
- 打开每个项目的
.csproj文件(比如View需引用BLL,BLL需引用DLL),找到<ProjectReference>节点:<ProjectReference Include="旧引用路径\BLL.csproj"> <Project>{BLL项目GUID}</Project> <Name>BLL</Name> </ProjectReference> - 将
Include属性改为相对路径,比如View项目引用BLL的路径修改为:<ProjectReference Include="..\BLL\BLL.csproj"> <Project>{BLL项目GUID}</Project> <Name>BLL</Name> </ProjectReference> - 同理,BLL项目引用DLL的路径改为
..\DLL\DLL.csproj,保存所有修改后的.csproj文件。
步骤4:重新加载解决方案
- 打开Visual Studio,通过"文件"->"打开"->"项目/解决方案"选择修改后的
.sln文件。 - 若之前解决方案处于打开状态,右键解决方案节点,选择"重新加载解决方案"。
替代UI操作方法(无需手动编辑文件)
如果不想修改文本文件,可通过Visual Studio UI完成:
- 在解决方案资源管理器中,右键标记为"未找到"的项目,选择"移除"。
- 右键解决方案节点,选择"添加"->"现有项目",找到移动后的项目文件夹中的
.csproj文件重新添加。 - 重新添加项目引用:右键需要添加引用的项目(比如View),选择"添加"->"项目引用",勾选对应的BLL/DLL项目后点击确定。
验证与收尾
- 检查解决方案资源管理器中所有项目是否正常加载,引用节点无黄色感叹号。
- 尝试编译整个解决方案,确认无编译错误。
- 操作前建议备份原项目文件,避免失误导致数据丢失。
内容的提问来源于stack exchange,提问作者Yaroslavio
相关产品推荐
相关产品推荐

