首页 > 编程语言 >【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案

【.NET】C#/.NET新建项目sln,增加src和test文件夹问题和解决方案

时间:2023-05-17 15:12:54浏览次数:46  
标签:src 项目 C# 新建 sln dotnet NET

问题介绍

        经常逛github找优秀的.NET项目看,看到github上的项目的层级有src test,sln放在外层。如下图:

 发现自己再Visaul Studio新建的项目即使添加了src和test,然后基于文件夹下新建项目,物理路径上也不是这样的结构。如图

 物理路径下依然和sln是平级状态。

解决方案

通过dotnet CLI

全程新建项目通过dotnet cli来新建,可以保持类似于github的整体目录,在一个空目录

dotnet new sln
dotnet new classlib -o src/YourName.Domain
dotnet new classlib -o tests/YourName.Domain.UnitTests
dotnet sln add src/YourName.Domain
dotnet sln add tests/YourName.Domain.UnitTests

 

通过此方法新建,添加sln引用,可以做到物理路径保持src。

 

通过创建项目,手动拷贝到物理路径下src,然后通过Visaul Studio添加现有项目

使用上边的截图示例,Api文件夹是我新建的,但是并没有在src下,手动拷贝到src下。然后打开Visaul Studio在src目录下添加现有项目,

 

 

 

总结

通过Visaul Studio直接在解决方案添加新建项目会产生一个虚拟目录,导致物理路径不符。通过dotnet CLi或者手动拷贝,添加现有项目可以解决此问题。

 

如果有更优雅解决方案的同仁,欢迎指教!

 

 

 

标签:src,项目,C#,新建,sln,dotnet,NET
From: https://www.cnblogs.com/xuyd/p/17408801.html

相关文章

  • 部署带路由的React SPA 项目
    使用Nginx将/phone/*请求反向代理为/*启动项目serve-s./build-l3000项目内路由仍然是/phone/xxx不用改动,但需要在package.json中,指定静态资源根目录{..."homepage":"/phone/",...}......
  • 华普物联 HP-ERSCAT-P200 RS485/RS232/ 以太网/CAT1网关
    产品概述HP-ERSCAT-P200是华普物联针对SiemensPLC开发的PLC网关。支持SiemensS7-200PPISmatPLC,S7-1200,S7-1500等.通过Ethernet和RS232/RS485连接PLC设备,数据以SON格式主动上报,实现设备数据云端管理。      定制化一体服务 公司介绍公司简介深圳华普物联......
  • docker 部署nacos单机版并配置mysql支持
    1.配置mysql数据库选用mysql5.7表名为nacos_config,附上建表SQLSETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforconfig_info------------------------------DROPTABLEIFEXISTS`config_info`;CREATETABLE......
  • C++ 智能指针
    在介绍智能指针之前,先来看原始指针的一些不便之处:它的声明不能指示所指到底是单个对象还是数组。它的声明没有告诉你用完后是否应该销毁它,即指针是否拥有所指之物。如果你决定你应该销毁指针所指对象,没人告诉你该用delete还是其他析构机制(比如将指针传给专门的销毁函数)......
  • ChatGPT4通道开放接入基于OPEN AI 平台你的任何APP 可一键接入AI 智能
    你一定很好奇什么是OPENAI快速开发平台顾名思义,开放的OPENAI平台。基于这个平台你的上层应用,如何APP,小程序,H5,WEB,公众号,任何一切终端都可以轻松接入,AI智能应用。开发初衷爆肝一周,我开源了ChatGPT中文版接口,官方1:1镜像支持全部官方接口持续熬夜爆肝,炸裂的OPENAI......
  • AT_abc_264_g
    题目:AT_abc264_g链接:洛谷,AT,vjudge题意有\(n\)个小写字母字符串\(T_i(1\lei\len)\)和数组\(P\),一个非空且只包含小写字母的字符串\(S\)的优美度为\(\sum\limits_{i=1}^{n}T_i\在\S\中的出现字数\timesP_i\)。问优美度最大值,可以无穷大输出Infinity。......
  • TypeScript中的定时器
    在ts中使用setInterval()和setTimeout()时,如果把特们的返回值定义成number类型,那么ts会警告你不能将类型“Timeout”分配给类型“number”或你不能将类型“Timer”分配给类型“number”原因setInterval()和setTimeout()使用的是Node.js下的接口定义,而在ts中,window下......
  • linux-cmd-iperf网络压测
    网络压测yuminstalliperf#开启server端10.0.0.1iperf-s-i2#开启client端10.0.0.2iperf-c10.0.0.1-i2实例演示#server[root@zuiyoujie01tools]iperf-s-i2------------------------------------------------------------ServerlisteningonTC......
  • el禁止已选中select删除指令
    importVuefrom'vue'//和main.js同级,自定义指令控制select已选的不给删除Vue.directive('defaultSelect',{componentUpdated(el,bindings){const[defaultValues]=bindings.valueconstdealStyle=function(tags){//因为......
  • Oracle客户端导出服务端数据(数据泵)生成DMP文件并导入
    1.首先了解下EXPDP和EXP的区别   1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。   2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLEQ服务端使用,不能在客户端使用   3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件......