4

我们有大量包含相同共享 15 个项目的 Visual Studio 解决方案,并且大多数解决方案仅在 Web 应用程序上有所不同。

我正在尝试将所有内容整合到一个仅构建一次共享项目的单一构建中,然后让 Web 应用程序项目引用输出共享程序集。

我发现,由于 web 项目通过 <ProjectReference> 元素指向共享项目,我不能告诉它在我的自定义构建项目中的其他地方寻找程序集。我想使用类似的东西:

<MSBuild Projects="@(Solutions)" Targets="Rebuild" Properties="ReferencePath=$(MyReferencePathFolder)">

但这仅在 Web 项目通过 <Reference> 元素引用共享程序集的 dll 时才有效。似乎如果在 <ProjectReference> 中找不到指向的内容,它不会尝试查看任何 ReferencePath 文件夹。它只是放弃。

4

1 回答 1

1

您可能需要考虑从众所周知的位置引用 15 个共享程序集。

您可以创建一个包含 15 个项目的解决方案并将输出复制到特定文件夹。然后,您可以更改您的 Web 应用程序项目以引用程序集,而不是共享项目。

使用这种方法失去的是从 Web 应用程序解决方案自动重建共享项目的能力。如果您想在处理其中一个 Web 应用解决方案时自动重新构建 15 个程序集,您可以在您的 Web 应用解决方案中添加预构建步骤来构建新的共享项目解决方案。

于 2008-12-02T22:46:23.977 回答