2

我们有一个项目(日志库),供标准 asp.net 应用程序(4.0 框架)和 sharepoint 解决方案(3.5 框架)使用。

有没有办法定义两个目标,以便在我们构建项目时构建两个版本?

另外,因为有人实现了这样的东西并通过nuget分发它?在 nuget 上发布两个版本的最佳方法是什么?

谢谢

4

2 回答 2

2

答案是<supportedRuntime>配置元素。这允许您指定您的应用程序可以支持和运行的所有 .NET 运行时。当然,在您的应用程序中,您只能使用您选择的所有 .NET 框架版本提供的功能。

简而言之,你应该在你的配置中有这个:

<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

最初可能需要将您的应用程序定位到 .NET 3.5,因为它<supportedRuntime>允许在版本中升级而不是下降。

于 2012-06-26T16:26:16.940 回答
1

您可以创建两个 C# 项目(csproj 文件),其中包含相同的源文件(或更多项目,具体取决于您的结构)。一个项目应针对 .NET 3.5,另一个项目应针对 .NET 4.0。

如果您想使用特定于 .NET 4.0 的功能,则可以使用.NET 4 项目中定义的条件编译符号来实现。

或者,您还可以添加一个或多个解决方案(用于 VS2008 和 VS2010),每个解决方案都使用一个 C# 项目。

于 2012-06-26T14:52:02.843 回答