我在Visual Studio Code的项目中有一个csproj,想把它重新放到一个子文件夹中,这样我就可以同时有一个test.csproj,所以我在根目录下创建了两个新的文件夹:
root --api --test
我使用VSCode将所有现有文件移动到新的api文件夹中,这样我就可以将两个csproj文件分成两个文件夹。
一切都变成了FUBAR,我能解决的唯一方法就是创建一个新项目并复制我需要的所有文件。
目前有没有更好的方法来做到这一点,而不会搞乱对现有csproj的所有引用?
下面是我们如何在同一目录中创建解决方案和控制台项目来模拟您的情况
mkdir test
cd test
dotnet new sln
dotnet new console
dotnet sln add test.csproj
现在你在test文件夹中有一个解决方案,它有一个名为test.csproj的控制台类型项目
将控制台项目重定位到子目录:
dotnet sln remove test.csproj
mkdir console
mv obj Program.cs test.csproj console/.
cd console
重构所有引用,名称空间和文件名
rm -R obj
cd ..
dotnet sln add console/console.csproj
测试:
dotnet run --project console/console.csproj
你好,世界!
这是在dotnet核心中重新定位项目的实用方法。附:该命令对Linux有效