我们有一个项目(日志库),供标准 asp.net 应用程序(4.0 框架)和 sharepoint 解决方案(3.5 框架)使用。
有没有办法定义两个目标,以便在我们构建项目时构建两个版本?
另外,因为有人实现了这样的东西并通过nuget分发它?在 nuget 上发布两个版本的最佳方法是什么?
谢谢
答案是<supportedRuntime>
配置元素。这允许您指定您的应用程序可以支持和运行的所有 .NET 运行时。当然,在您的应用程序中,您只能使用您选择的所有 .NET 框架版本提供的功能。
简而言之,你应该在你的配置中有这个:
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
最初可能需要将您的应用程序定位到 .NET 3.5,因为它<supportedRuntime>
允许在版本中升级而不是下降。
您可以创建两个 C# 项目(csproj 文件),其中包含相同的源文件(或更多项目,具体取决于您的结构)。一个项目应针对 .NET 3.5,另一个项目应针对 .NET 4.0。
如果您想使用特定于 .NET 4.0 的功能,则可以使用.NET 4 项目中定义的条件编译符号来实现。
或者,您还可以添加一个或多个解决方案(用于 VS2008 和 VS2010),每个解决方案都使用一个 C# 项目。