我安装了Windows 8,Visual Studio 2012,但没有安装v4.5目录%WINDIR%\Microsoft.NET\Framework.
我做错了什么,或者.NET 4.5与其他人有什么不同?
如果是因为我没有安装这些工具,是否有一套不同的工具可供下载?据我所知,我能够构建.NET 4.5应用程序.
这个问题与编程无关,因为它与部署相关.
我发现自己与公司中的小组进行了很多交谈,他们的工作是维护我们的生产Windows服务器并在其上部署我们的代码.出于法律和合规性的原因,我没有直接的可见性或对服务器的任何控制,因此我可以通过我给该组的指示来确定安装哪个.NET版本的唯一方法.
到目前为止,我可以想到的所有方法都可以告诉我们安装了哪个版本(检查管理工具是否匹配1.1或2.0,检查"添加/删除程序"列表中的条目,检查是否存在c:\ Windows\Microsoft.NET下的目录是有缺陷的(我在管理工具下看到至少一台2.0但没有2.0条目的机器 - 该方法没有告诉你3.0+,"添加/删除程序"列表可能与现实不同步,目录的存在并不一定意味着什么).
鉴于我通常需要提前知道这些事情已经到位(发现"哎呀,这个没有你需要的所有版本和服务包"并不适用于短维护窗口)我必须检查"通过代理",因为我无法直接访问服务器,什么是一个简单的方法来告诉生产Windows服务器上安装了哪个版本的.NET?最好使用框架安装的一些内在方法来实现,因为它会更快,不需要加载某种实用程序,如果框架没有正确安装但仍然有文件就可以肯定会失败的方法(即,有一个目录和gacutil.exe在那里,但该框架的版本并没有真正"安装")
编辑:如果没有一个很好的万无一失的内在方法来构建框架,有没有人知道一个好的,轻量级,无需安装的程序,可以找到这个?我可以想象有人可以轻松地写一个,但如果已经存在,那就更好了.
我们有一个针对.NET 3.5的.NET应用程序.我们的客户从共享驱动器(很少)运行它,以便拥有一个中央配置文件位置.
我们注意到,如果工作站访问共享驱动器并运行程序,但没有安装.NET 3.5,则没有任何反应,没有错误,没有异常,没有日志条目,它只是不启动.
为什么CLR在Windows中没有显示错误消息?
我可以在代码的开头放一些东西来确保显示正确的错误消息吗?
运行可检查先决条件的安装程序不是一个选项,因为我们只将其安装在一个中心位置.
谢谢.
理想情况下,我们不必有一个包装器来查询.NET版本,似乎该程序无法启动,并且Windows应该在某处报告.我无法相信它会默默地失败.
我想知道如何创建批处理文件以检查framework 3.5 sp1系统中是否安装了.net 。
请帮忙。