Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免.NET版本控制地狱_.net_Visual Studio_Dll - Fatal编程技术网

避免.NET版本控制地狱

避免.NET版本控制地狱,.net,visual-studio,dll,.net,Visual Studio,Dll,因此,有时(通常!)您希望针对特定的.NET版本(例如3.0),但由于某些.NET service Pack,您会遇到以下问题: Dispatcher.BeginInvoke(委托,对象[])在发送发行版之前,请使用与目标用户群的最小公分母相对应的适当版本的Visual Studio编译应用程序 只需准备一台虚拟机,比如说Visual Studio 2005手头没有SP,然后在部署之前从那里编译解决方案。Microsoft倾向于假设,如果您安装了.NET XXX,那么您必须使用最新的servi

因此,有时(通常!)您希望针对特定的.NET版本(例如3.0),但由于某些.NET service Pack,您会遇到以下问题:


  • Dispatcher.BeginInvoke(委托,对象[])
    在发送发行版之前,请使用与目标用户群的最小公分母相对应的适当版本的Visual Studio编译应用程序


    只需准备一台虚拟机,比如说Visual Studio 2005手头没有SP,然后在部署之前从那里编译解决方案。

    Microsoft倾向于假设,如果您安装了.NET XXX,那么您必须使用最新的service pack,因为Windows Update会将它们作为关键更新推送给您。我知道这是一个脆弱的假设,有时会崩溃,但这是应该发生的


    我们的产品目前以.NET 3.5 SP1为目标,因此我们会惊讶地发现目标环境仍在运行.NET 3.5 RTM。

    这是否有帮助:?

    有一种方法可以告诉windows使用哪个.NET版本。这类似于在windows\system32中使用xmllike创建名为dllhost.exe.config的文件:

    <? xml version = "1.0" ?>
    <configuration>
    <startup>
    <SupportedRuntime version = XXXXXX>
    </startup>
    </configuration>
    
    
    

    请参阅:

    此功能自VS 2008 SP1起内置于Visual Studio中,并且在FxCop 1.36中也可用。请查看以了解更多详细信息


    请说出您认为这会有什么帮助。它看起来不相关。这有点像是与硬件驱动程序结合使用。它必须工作,即使是一个现成的非互联网连接PC如果你的安装技术允许,你可以尝试嵌入.NET 3.0 SP2到你的安装程序作为一个先决条件。例如,InstallShield允许您从web下载或独立嵌入。很高兴为您提供帮助。我更新了答案,也加入了对FxCop的引用。