0

我正在研究项目,该解决方案有 40 多个项目。我有两个构建配置 Lite 和 Release。Lite 构建 AG 项目,Release 构建 A-M 项目。是否可以创建一个构建 Lite 并使用来自 lite 的 dll 进行发布的发布目标?

4

1 回答 1

0

我处理这个的方式是。

  1. 让所有内容都从相对文件夹中引用其依赖项。

    .\MySolution01.sln

    .\MyCSProj01\MyCSProj01.csproj

    .\MyCSProj02\MyCSProj02.csproj

    .\MyCSProjN\MyCSProjN.csproj

    .\第三方参考\

    .\ThirdPartyReferences\MyCoolDll.dll

    .\ThirdPartyReferences\SomePDFLibrary.dll

在 csproj 中

 <Reference Include="SomePDFLibrary">
     <HintPath>..\ThirdPartyReferences\SomePDFLibrary.dll</HintPath>
</Reference>

2.

编写 msbuild 任务

A. 下拉“Lite”的代码。B. 构建“精简版”。C. 下拉“发布”代码。D. 将文件从“Lite”复制到“Release”的 ThirdPartyReferences 文件夹。E. 构建“发布”。

另一种想法。

当“Lite”构建时,将这些 dll“发布”到二进制存储库。“常春藤”(apache)是非微软的。(您可以使用 ivy 的命令行版本。但大多数 Microsoft 开发人员不会去这里) Nuget(带有本地存储库)是 ~binary 存储库的“微软风味”。

http://gregorsuttie.com/2011/01/03/using-a-nuget-local-repository/

然后,当“发布”构建时,它会从二进制存储库中“拉下”其二进制文件。

于 2013-02-27T14:18:45.827 回答