Visual Studio 我有一个C#动态链接库,我正在使用在几个C#项目,如果我更新动态链接库,我必须重建所有的项目手动,我如何自动化这一点?

piztneat  于 2023-03-03  发布在  C#
关注(0)|答案(2)|浏览(143)

我有一个C# dll(VS 2022),我正在使用的几个C#项目(VS 2022)。如果我更新的dll我必须重建所有相关的项目手动。
1.有没有可能在dll中编写一些程序,以便在构建它时,自动构建所有相关的项目
1.如果1)不可行,我可以用一个单独的C#项目或powershell脚本来实现这个自动化吗?

soat7uwm

soat7uwm1#

使用Visual Studio,并假设DLL的所有源代码和DLL的使用者都在同一个源代码管理存储库中:

  • 创建解决方案(.sln)
  • 将所有项目添加到解决方案中,包括DLL项目和依赖于DLL的项目
  • 在依赖于DLL的项目中,添加对DLL项目的项目引用

生成解决方案或在解决方案中生成特定项目时将检查依赖项。

uqxowvwt

uqxowvwt2#

我测试了两种方法
将Dll项目和Dll依赖项目放到一个解决方案中,添加Build Dependencies。这样可以确保在编译依赖项目时,先编译依赖项目。
你所需要的正如乔纳森所说:添加项目引用,编译引用的项目时,可以自动更新当前项目。
还有另一种方法:如果你添加引用的方式是使用浏览。例如,把dll放在一个文件夹中,然后导入到项目中。
您可以将post-build event添加到dll项目中:

del $(SolutionDir)ConsoleApp1\ClassLibrary1.dll & xcopy /y $(TargetPath) $(SolutionDir)ConsoleApp1\

生成dll后,可以自动更新目标地址的dll。

相关问题