在当前的解决方案中,我将有大约10个项目(控制台应用程序(,它们将使用Helper类中的相同功能。在过去,我只会在每个项目中复制粘贴这些文件夹,并添加对主类的引用。有没有一种方法可以只创建一次Helper类,并能够在该解决方案中的任何项目中使用它们,而无需复制它们或引用另一个项目?
此外,我必须在每个项目中导入相同的3个NuGet包,有没有办法在解决方案级别导入它们,这样它们就会自动添加到每个新项目中?我知道我可以右键单击解决方案,只需选择每个项目,而无需为每个项目手动执行,但可以为创建的每个新项目自动添加它们吗?
您需要编辑csproj
,例如您有以下目录结构:
SolutionRoot
MyProject
MyProject.csproj
SharedFiles
要将SharedFiles
目录中的文件作为名为Shared
的虚拟文件夹添加到MyProject
项目中,请在MyProject.csproj
中添加以下行
<ItemGroup>
<Compile Include="..SharedFiles***.cs">
<Link>Shared%(RecursiveDir)%(FileName)%(Extension)</Link>
</Compile>
</ItemGroup>
是否有一种方法可以只创建一次Helper类,并能够在该解决方案中的任何项目中使用它们,而无需复制它们或引用另一个项目?
简单答案否。您必须在项目中定义可在其他控制台应用程序中引用的助手类。
此外,我必须在每个项目中导入相同的3个NuGet包,有没有办法在解决方案级别导入它们,这样它们就会自动添加到每个新项目中?我知道我可以右键单击解决方案,只需选择每个项目,而无需为每个项目手动执行,但可以为创建的每个新项目自动添加它们吗?
同样不,您不能在解决方案级别将NuGet引用应用于新项目。但是,您可以创建自己的项目模板,该模板可以设置为配置包/项目引用。