存档

‘dotNET’ 分类的存档

dotnet core点滴:创建asp.net core项目

2018年7月30日 没有评论

1.dotnet new webapp –o aspnetcoreapp

新建webapp类型的项目到aspnetcoreaspp文件夹

2.cd aspnetcoreapp

3.dotnet dev-certs https –trust

为项目创建https的证书,并信任这个证书

4.dotnet run

5.浏览https://localhost:5001

分类: dotNET 标签:

使用MySQL for Visual Studio创建EF模型的注意事项

2017年7月14日 没有评论

1 安装的MySQL for Visual Studio之前需要先安装MySQL的Connector/NET

2 Connector/NET和MySQL for Visual Studio建议都安装release的版本。

3 在项目中创建MySQL的EF模型前,项目里面需要先用Nuget安装MySQL.Data.Entity,同样建议安装release版本。

4 更新EnityFramework到最新的版本。

因为:

  • 如果没有按照1、2和3的顺序来做的话,会出现创建连接的时候没有mysql的驱动。
  • 不都是用同意的release版本的话,可能在创建完成数据连接以后,选择表之前,窗口闪退。闪退的情况在Visual Studio 2015和2017中都会发生。互联网上还有2013同类问题的报告。
  • EntityFramework不升级到最新版的话,会有提示问题你是否生产EF5的实体模型……

解决WinForm程序在安装以后无法读写config文件的问题

2015年11月6日 没有评论

这个问题有两个解决方案,一个方案是将Config文件放到有权限读写的位置,另一个方案是提升运行程序的权限。第一个方案可以完美解决这个问题,用户体验最好,但是解决起来稍显复杂,安装程序和代码中都需要特殊处理。第二个方案有点投机取巧,一般情况下没有什么问题,但是在域环境下当前用户不是本机管理员的情况下,提升权限可能会失败,会提示输入有权限的用户的用户名和密码。

使WinForm提升权限,需要在这个WinForm的项目中,添加一个应用程序清单文件,如下图。

image

在添加完这个文件之后,还需要修改这个文件的一行,如下图的样子:

image

这一行修改完成重新编译即可。

如果在VS中直接运行的时候,当前VS不是以管理员身份执行的话,会提示你VS当前的权限不够,并重新以管理员的身份启动,在运行这个程序。如果是已经安装好的程序,就会出现大家很常见的UAC的提升权限提示了。

分类: dotNET, Windows 标签: , ,

Windows Identity Foundation(WIF)正式发布

2009年11月19日 没有评论

在PDC’09上Bob Muglia宣布了Geneva正式发布了,也就是这个Windows Identity Foundation(WIF)。这个东西是原来CardSpace基础上发展来的,成为了SharePoint2010用户验证的基础。看上去它成为了一个新的WxF…… 😉

目前WIF支持六种语言,但是还没有中文。

详细内容请参考:

http://blogs.msdn.com/card/archive/2009/11/18/windows-identity-foundation-wif-rtm-announced.aspx

分类: dotNET 标签:

.NET新Logo

2008年10月25日 没有评论

image_thumb

分类: dotNET 标签:

历史上最难安装的.NET Framework

2008年2月25日 没有评论

.NET Framework 从开始的1.0到现在的3.5已经出了五个版本了(1.0、1.1、2.0、3.0、3.5)。但是哪一个才最难安装的.NET Framework 呢?嗯,你回答对了,是3.5。这话怎么说呢?你看下面安装步骤的截图就知道了。我先说一下我的安装环境:Windows Server 2003 简体中文企业版,刚刚安装好,但是没有互联网连接。

NETFr1_3

上面这个图里面,有一个下载文件大小是73MB。但是我这个是Offline安装版本,也就是说其内部已经有了所有的部件而不需要下载了。

NETFr2_3

上面这个图就出现问题了,安装程序说只下载了63兆,缺少10兆,仍然需要下载。问题是我的这个环境无法连接到互联网,这个问题不好解决。

NETFr3_3

上面这张图更奇怪了,我没有点"取消",但是在5次链接尝试以后,那10兆的下载取消了,状态变成了下载完毕,可以断开Internet连接了。

NETFr4_3

我们终于如愿了,上面这个图里面出了错误信息,表示安装没有正确完成。

NETFr5_3

点击"Don’t Send"以后,居然返回来安装成功的页面。

虽然.NET Framework 3.5有了两个最显著的新特性:AJAX和LINQ,但是我想我还是不会在我的生产环境中使用这样的一个版本。

分类: dotNET 标签:

MySQL和PostgreSQL的DAAB

2007年5月20日 没有评论

最近在研究EntLib2.0的DAAB。DAAB的特性之一是可以使我们在编写代码的时候不必关心数据库到底是什么,也就是DAAB可以当作数据库抽象层。但是你得有你要使用的数据库在这个抽象层之下的驱动。

我们知道现在开源关系数据库主要有两个,一个是MySQL,一个是PostgreSQL。这两个数据库现在都有现成的开源.NET Data Provider。由于微软也提供了EntLib2.0的源代码,这样我们很容易仿照其SQL Server的DAAB Database Provider写出他们在抽象层之下的驱动。我试着写了一下,MySQL的部分实现了,PostgreSQL的完全没有实现。

MySQL的DAAB Database Provider除了XmlReader相关的部分,其他部分都实现了。这是由于MySQL的.net connecter虽然是仿照SQLServer的.NET Database Provider来定义的接口,但是.NET Framework 2.0新增的一些内容还没有实现,MySQL对于XML的支持也不如SQL Server那么完善。

PostgreSQL的DAAB Database Provider完全没有实现。和MySQL的.NET Database Provider类似,PostgreSQL的Npgsql也没实现XmlRaeder的功能,除此以外,Npgsql的NpgsqlCommand对象竟然没有继承DbCommand, ICloneable,导致在一些NpgsqlCommand强制转换的情景下会失败。这个情况导致了PostgreSQL的DAAB Database Provider没办法实现。

比较MySQL和PostgreSQL对.NET的支持,看来是MySQL更胜一筹。

为了解决使用Entlib的DAAB来访问PostgreSQL的问题,估计可能得写一个ODBC的DAAB Database Provider了。研究了一下ODBC的.NET Database Provider的情况,似乎ODBC和MySQL的情况类似,在.NET Framework2.0的类库里面并没有对XmlReader支持,估计仍然不能实现ODBC的DAAB Database Provider的XmlReader部分。

cnBlogs真的是藏龙卧虎

2007年4月12日 没有评论

自从安装Outlook2007以后,各大Blog的文章基本不拉下了。最大的发现莫过于cnBlogs真的是藏龙卧虎的地方啊。今天就发现一篇Blog,是cnBlogs的一个朋友用C#写的Windows任务管理器。虽然没有实现对于网络的监视,但是也给出了解决办法。

用C#开发较完整的Windows任务管理器

在C#中调用API获取网络信息和流量

分类: dotNET 标签:

.NET Framework 3.0 Redistributable Package正式版发布

2006年11月7日 没有评论

虽然NetFx3的网站上的连接还没有变更过来,但是微软网站里面确实提供下载了,更新日期2006年11月6日,连接如下:
x86 full package http://go.microsoft.com/fwlink/?LinkId=70848

SDK也发布了,更新日期2006年11月3日,连接如下:
Full Image http://download.microsoft.com/download/1/b/3/1b3f749d-e215-482c-a004-5d9c26c75c92/6.0.6000.0.0.WindowsSDK_Vista_rtm.DVD.Rel.img

Visual Studio 2005 extensions for .NET Framework 3.0 (WCF & WPF), November 2006 CTP,更新日期2006年11月6日,连接如下:

http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2ff%2ff%2f0%2fff0433fe-733c-4ff4-89aa-c77ff587f388%2fvsextwfx.msi

Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation)正式版,更新日期2006年11月6日,连接如下:
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2f9%2f6%2fc%2f96cfedbc-89ed-4b57-9cac-27ecad390149%2fVisual+Studio+2005+Extensions+for+Windows+Workflow+Foundation+(EN).exe

Visual Studio 2005 extensions for WSS 3.0正式版,更新日期2006年11月6日,连接如下:
http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=19F21E5E-B715-4F0C-B959-8C6DCBDC1057&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2fe%2f8%2fa%2fe8aa8476-5af6-4f38-aed2-0247a99d2bc6%2fVSeWSS.msi

分类: dotNET 标签:

相当关注mono以及其运行在FreeBSD的状况

2006年5月6日 没有评论

推崇开源系统的原因很简单,就是降低企业级系统的入门门槛。Linux也好,FreeBSD也好,Mono也好,都是这个原因。多一个选择没有什么不好,毕竟还没有挑花眼…

推崇FreeBSD而不是Linux的原因也很简单,Linux有很多种,而FreeBSD只有一种,恐怕不会有人问“我的程序可以在哪一种FreeBSD上面运行”!

mono作为.net的一个开源实现,可以很好的在某种程度上替换微软的平台,FreeBSD也是这样。那么在FreeBSD上面运行mono也就更加意义非凡…

继续保持关注……

分类: dotNET, FreeBSD, mono 标签: , ,

对于.net Framework的System.Net下面的CredentialCache类的补充说明

2006年3月28日 没有评论

我在使用CredentialCache的Add方法的时候,不知道其他的几个authType怎么来写。在Google的帮助下,从微软的Support网站找到一些提示:

"Basic":基本身份认证(明文传送用户名和密码)

"Digest":Windows域服务器的摘要式身份认证

"Negotiate":Windows集成身份认证(至少在这种认证方式下可用)

希望对调用有身份认证要求的WebService的朋友有帮助!

分类: AD, ASP.NET, dotNET 标签: , ,

申请了新的域名

2006年3月9日 没有评论

今天申请了新的域名:vegetusoft.com,准备作为自己搞得一些软件的宣传网址。

vegetus是拉丁文中的一个单词,意思是完整的、健康的、新鲜的和有活力的。申请vegetusoft是想我的软件可以是完整的、健康的、新鲜的和有活力的,这是一个没好的愿望,我在想这个目标努力!

这个单词衍生了出了一些比较有名的单词,比如:vegetable,蔬菜;vegetarian,素食者 等等。但比较有意思的我不是素食者,因为我离了肉食不行的…

最新开始的第一个产品应该是基于微软 .net技术的FTP Server,暂时命名为 Vegetus FTP Server,而且还没有时间表。

分类: dotNET 标签:

[翻译]TechNET上关于Monad Shell(MSH)的一次聊天

2006年1月11日 没有评论

原文位置:http://www.microsoft.com/technet/community/chats/trans/windowsnet/wnet_120704.mspx

请注意: 这个抄本的一部分经过编辑。

介绍

MSFT Don (Moderator):
欢迎来今天的聊天。我们今天的主题是微软将发布的叫做Monad(或MSH)的命令行shell。

MSFT Don (Moderator):
我们有请今天的专家。 我请他们先介绍一下自己。

MSFT Kenneth (Expert):
我是命令行shell的程序经理。我主要负责API、类型系统和cmdlet供给器(provider)。

MSFT Jeffrey Snover (Expert):
你好。我是Jeffrey Snover,Monad的架构师[并且是这个项目的负责人]。

MSFT James Truher (Expert):
嘿,我是James Truher,Monad组的一个程序经理。我负责语言、错误报告和许多其他的特殊函数。

MSFT Don (Moderator):
我是主持人Don Spencer。我是Windows Platform SDK(WinFX)的一名编辑。

聊天开始

MSFT James Truher (Expert):
问: 是不是MSH V1.0努力要在Longhorn之前完成?
A: Monad首先将作为一个功能搭载进入目标在2H06(06第二季度?)发布的Exchange 12。之后Monad将在那之后搭载进入Windows。发布手段还没有确定。Monad将支持Win2003 SP1、XP SP2 和Longhorn。

MSFT Kenneth (Expert):
问: 你们打算什么时候发布VS.NET的项目模板?
A: this a great feature, which many of us want for ourselves. however we will not be able to get it done in version1. I can’t comment on versions after that.

MSFT James Truher (Expert):
问: Monad将作为Exchange的一个功能发布?你能提供一些MSH和Exchange整合在一起的详细内容吗?
A: Yes, that’s correct – the integration of MSH and Exchange 12 is that the command line management of Exchange will be done via Cmdlets and that graphical management will be a layer on top of those cmdlets.

MSFT Jeffrey Snover (Expert):
问: historic question – when did the Monad project actually begin?
A: The roots of Monad are WMIC – a command line interface to WMI. I invented that and was struck by the power and leverage that you could provide if you had common object reflection. In the summer of 2001 I was learning .NET and realized that we could do the same thing with .NET. That was the start of the project. No one understood what I was talking about so I had to develop an extensive demo to illustrate it. Once I did that, everyone started drooling and off we went.

MSFT James Truher (Expert):
问: 微软会不会把SSH服务器搭载进入远程Monad?
A: We currently have no plans to ship an SSH server. I am aware that other teams within Microsoft are investigating secure remote access, but I don’t have details available.

MSFT James Truher (Expert):
问: When will we see the next MSH drop?
A: We haven’t yet scheduled another drop, so we don’t know when or whether another drop will occur

MSFT Jeffrey Snover (Expert):
问: I’ve heard Monad has VMS roots… will we have a utility or functionality similar to VERB to create our own verb commands and parameters?
A: We are very influenced by the VMS (and AS400) environments. That said, we don’t have the same set of utilities. Do define you own command, you write a .NET class derived from our base class and tag it with a NOUN and VERB. The properties of that class become PARAMETERS.

MSFT Bruce Payette (Expert):
Q: What are the significant features of Monad and can you elaborate on the difference between this and existing scripting environments for windows (i.e Windows Shell Scripting, WSH, etc)?
A: The goal of Monad is to provide a powerful commandline management solution. It is both a language and a framework for easily creating commands to manage windows platform. So – it’s more command-line oriented than WSH but has a lot of the scripting abilities of the WSH languages. It’s somewhat of a higher level language than VBScript, etc. Another quite significant difference is that it’s an interactive environment.

MSFT James Truher (Expert):
Q: Will there be more command-line tools for Windows, so that we can actually do stuff in Monad?
A: With regard to the Exchange release, we are working closing with Exchange to ensure that all of their management is possible via cmdlets.

MSFT Kenneth (Expert):
Q: Is there any support for command line completion beyond builtin commands and file names (as in bash)?
A: As your question implies, monad has the architecture in place to perform tab-completion on parameters and other elements. However, we will not be able to implement and test tab-completion beyond mshpaths (cmdlet providers) in version1.

MSFT Jeffrey Snover (Expert):
Q: As SSHD is indeterminate, how is remote script execution coming in Monad
A: Monad will be leveraging the WS-MGMT protocol for remote execution. WS-MGMT is an emerging industry standard that will provide a common protocol to manage servers in both the PRE-OS environment (e.g. talking to the base motherboard controller) and the OS-resident environment. It’s pretty awesome stuff.

MSFT Bruce Payette (Expert):
Q: Will Monad include cmdlets to programmatically access Office and/or other clientside applications?
A: Probably not in version 1 as our focus is on server management. Now – we do support COM/ActiveX objects directly in msh so you can do most of the same things you do in VBscript. There have been a number of examples of what can be done posted to the Betaplace list.

MSFT James Truher (Expert):
Q: What language is the API and shell language based on?
A: The shell language is based generally on 3 different sources. sh/ksh, perl and C#. I wanted to be sure that the language was expressive enough to ensure parity with the unix shells, but wanted to not use the same syntax as the unix shells as they are somewhat irregular and provide a glide path to C#. The shell itself is written in C#.

MSFT Jeffrey Snover (Expert):
Q: How is security addressed in Monad?
A: This is a very board topic. We spend a lot of time on security. One of the common questions is "are we reintroducing script attacks?". We are doing a number of things to mitigate those exposures. 1) we will not have a doc handler for .msh files (this means that you won’t be able to double-click a .msh file and have it run). 2) We’ll have a policy that only allows signed scripts (from people you trust) to run (we’ll then make it easy for you to sign scripts).

MSFT Kenneth (Expert):
Q: How are other teams buying into Monad? Exchange obviously seems on-board. What about IIS? SQL?
A: A number of teams have created prototype cmdlets and cmdlet providers – this has been very helpful in improving the API and validating the model. however, our first focus is on the exchange release. these other teams have not dropped off our focus, but we can’t commit to any other partners’ cmdlets at this time.

MSFT Kenneth (Expert):
Q: Thanks Kenneth, but I don’t quite get it. Does it mean I can write a cmdlet which provides tab completion for parameters? I.e. what else in addition to mshpaths would you consider?
A: in version1 tab-completion we will only handle mshpaths.

MSFT James Truher (Expert):
Q: What cmdlet providers (or libraries) will be available (e.g. database access, file access, regular expressions)?
A: The providers that will be a part of the Exchange release are filesystem, registry, function, variable, certificate, alias, environment.

MSFT Jeffrey Snover (Expert):
Q: Will there be any backward compatibility issues with scripts and cmdline tools?
A: As a general rule, MSH runs all existing command and scripts. That said, MSH does NOT interpret .bat files, it passes them to cmd.exe to run them. There are certain scripts that are written to modify the environmental variables to affect subsequent scripts. That particular semantic (of .bat scripts) will not work in MSH. That is the only compatibility issue that we are aware of.

MSFT James Truher (Expert):
Q: Will V1 have support for tee-ing the pipe?
A: yes, we will provide a tee-object cmdlet

MSFT Bruce Payette (Expert):
Q: any resolution on the elseif / else if debate?
A: We’ve decided to leave it as elseif.

MSFT James Truher (Expert):
Q: Will MSH V1.0 be done before Longhorn?
A: MSH will ship as part of Exchange 12

MSFT James Truher (Expert):
Q: When can we expect the next drop of MSH bits?
A: I believe that this question was answered earlier

MSFT Jeffrey Snover (Expert):
Q: Will the monad command line parsing be extensible? (i.e. write a cmdlet which implements ‘vi’ type command line editing?)
A: Monad has a clear separation between the ENGINE and the HOST. The HOST is the thing that provides a UI. Hosts can be CLI-based or GUI-based (e.g. MMC could provide a host for Monad). The V1 CLI host that MSH provides will not provide an extensible command line parsing capability. We expect 3rd parties to add value in this area by providing this sort of function. This may be something that we do in later releases. Thanks.

MSFT Kenneth (Expert):
Q: …"filesystem, registry, function, variable, certificate, alias, environment"; what about AD? Pretty hard to manage Exchange without that?
A: Exchange cmdlets will implicitly manage active directory as required. We will continue to work with AD, WMI and other groups for later releases.

MSFT Kenneth (Expert):
Q: hmmm – no AD (and no Wmi) provider at time of Ex12 release ? Seems a little strange with the Ex melding into AD.
A: Exchange cmdlets will implicitly manage active directory as required. We will continue to work with AD, WMI and other groups for later releases to create desired providers.

MSFT James Truher (Expert):
Q: (Question from Christa) Any chance for per-session support in Monad? Last I saw, it assumed a single session.
A: I think that you’re asking about logging – we will be providing a logging mechanism which will allow you to determine what a session is doing

MSFT Kenneth (Expert):
Q: Do you guys know when it might be possible to get on the Exchange 12 beta, or if that is a possibility for us at all?
A: you’ll have to contact your exchange representative for an exchange12 beta.

MSFT Jeffrey Snover (Expert):
Q: Scripters are often used to deploying "windowless" solutions – scripts that run without a console or GUI. Is that going to be possible with MSH?
A: We are looking at modifications to our CLI host to address this issue.

MSFT James Truher (Expert):
Q: How deep will monad go as far as exchange management? e.g. Will I be able to mount/dismount the information store from monad?
A: We working with Exchange to ensure that the entire management can be done via Monad, but I can’t speak authoritatively about this specific feature.

MSFT James Truher (Expert):
Q: …"yes, we will provide a tee-object cmdlet " – what about a way to merge back together?
A: You will be able to script a solution to this, but we will not be exposing of the data flow engine in v1, so it won’t be possible to do this, other than manually aggregating results (e.g., via variables, etc)

MSFT James Truher (Expert):
Q: Do you still plan on supporting casting to void to throw away results (or better yet, not ask for ToString in the first place) e.g. [void]myStringBuilder.Append("MSH – don’t force copy on write yet")?
A: yes! we will support [void]

MSFT Bruce Payette (Expert):
Q: Will there be if not now but eventually a converter tool to migrate or convert existing scripts to Monad Shell scripts ?
A: We’ve experimented with a tool to convert VBscript to msh and it was pretty successful but it’s not in scope for v1. Alex has also written a set of "VB personality" scripts that help in conversion. However – when and if we release a tool is not something we can speak to at this time unfortunately.

MSFT James Truher (Expert):
Q: How does one use runspaces with the current drop ?
A: runspaces are not surfaced in the current drop

MSFT James Truher (Expert):
Q: I should have said… Will there be a distributable version of the Monad shell that will be release with Exchange?
A: the shell that releases with Exchange will be targeted at Exchange management. The schedule for a general shell release is to be determined.

MSFT Jeffrey Snover (Expert):
Q: At a Windows XPSP2 (pre-release) event earlier in the year, we were advised that Monad was the replacement of VBScript / WScript … do you have any views on that?
A: We are working to ensure a path forward for VBScript/WSH users. There are 2 directions to that. One the one hand, Monad will provide VBSCRIPT-style scripting in that you’ll be able to access COM object and invoke methods and access their prosperities. On the opposite direction, we are looking at providing a COM interface to Monad so that VBScript users will have access to all of it’s functionality. This is NOT a booked plan but should give you a feel for how we are thinking about the issue (so let’s just keep this info between those of us with access to the internet 😉 ) . We are working to get a booked plan and then make it public.

MSFT James Truher (Expert):
Q: Will there be a distributable version of the Monad that will be available with Exchange?
A: this question has been answered

MSFT Bruce Payette (Expert):
Q: Will the new Exchange System Manager MMC console support generation of MSH code, as demonstrated at PDC?
A: The next release of MMC will be in R2 before the exchange release so it won’t include any Monad support. When Exchange and msh are released the Exchange snapin will be using msh. End-user use of msh in snapins (i.e. writing your own msh based snapins) will be sometime after that.

MSFT Kenneth (Expert):
Q: The HOST APIs(at least the formatting and output APIs) are heavily geared towards a CLI. Will there be anything done to allow non-CLI hosts to take advantage of the F&O features of the engine?
A: I’m not sure which part of the infrastructure… the host API itself should be very implementable by a GUI Host. the format/output cmdlets are focused on outputting to some line-oriented device (CLI, printer, file) – they also should write to any host implementing the MshHost class.

MSFT James Truher (Expert):
Q: Does the scripting language work for a C++ guy? 🙂 I.e. Is there some strict syntax/semantic check that can be used _before_ the code path is hit? Do we get a debugger?
A: We are thinking about providing the feature that allows you to single step through a script. We don’t currently have plans to supply a more rigorous syntax checker in V1

MSFT Jeffrey Snover (Expert):
Q: Will there be a way to restrict operations for MSH and provide audit, logging
A: There will be a bunch of policies that you’ll be able to tweak to restrict the running of MSH. We have a pluggable security manager. This allows a NEW host to provide a security manager which can control which commands are run. It also gets called for every ShouldProcess() call which means that it can control things on a per-object level. This is pretty awesome stuff. We also will providing logging of the internal state of the engine. This includes both health-level type information and AUDIT level information (who did what to what when). You’ll have policies to control which types of events get emitted.

MSFT Kenneth (Expert):
Q: What’s the latest on support for flattening objects into text? For instance, I want to a set-clipboard cmdlet where the normal console output of "get-process" is what gets put in the clipboard when I type "get-process | set-clipboard".
A: you can do a ToString on the object results, you may also use the -f operator to explicitly format your objects. if you wanted it formatted using our formatxml then we would need an out-string cmdlet. we do not currently have this cmdlet in our version1 plans. the work around is to use out-file and get-content.

MSFT James Truher (Expert):
Q: Hosting – is there plans on exposing some of this capability in the beta or is it still too adaptive for the work with Ex team?
A: we do have a set of hosting APIs, but we won’t be releasing an SDK with the Exchange release

MSFT Kenneth (Expert):
Q: For Longhorn, you should convince Microsoft to spin up a ScriptPad project to create a decent text editor for MSH scripts. One that provides simple completion and color syntaxing. Notepad is getting long in the tooth. 🙂
A: this would be nice. however it is not in the scope of the monad project.

MSFT Jeffrey Snover (Expert):
Q: Will there be a way to create a GUI for MSH scripts using Monad?
A: Superstar Jim Truher created a set of cmdlets which provide TK-type function. It worked pretty well but this is not something we are planning to release in V1 because we don’t’ have the bandwidth. We all fully grok why TK is so cool for customers so that may be in our future. That said, it should be pretty easy for a 3rd party to deliver this functionality.

MSFT James Truher (Expert):
Q: Do you have a speculation model yet of how your releases will go? Specifically will we be even close to seeing a Monad version 2 by the Longhorn Server release, as an integrated feature of that product?
A: Our plans are still in flux, so rather than speculating here, it would be better for us to solidify our plans so we don’t set the wrong expectation

MSFT Bruce Payette (Expert):
Q: On the depth of integration… is Monad to replace current management mechanisms? MMC? WMI? what’s the idea?
A: All of these elements will continue to work together but in a layered way. MMC provides the GUI built on top of msh. Msh provides the cmdlets which are based on .NET, WMI, ADSI etc, which provide the APIS, etc.

MSFT James Truher (Expert):
Q: How close are you to a release candidate version? Do you think that there will be significant changes between now and the release, or is it more fine tuning?
A: We continue to fine tune the release, some of that tuning may result in a significant change, but architecturally, we are making fewer and fewer changes.

MSFT James Truher (Expert):
Q: In fact, TextPad already makes a great integrated development tool for MSH scripting – edit and run… 🙂
A: question?

MSFT Jeffrey Snover (Expert):
Q: Have you thought about providing some sort of XPath or XQuery support for providers e.g. get-children c:/foo[@size > 1000000]?
A: Yes we have. The issue is that by and large we leave the namespace syntax to the namespace provider. FOr instance, AD puts children to the left and uses "," to separate path elements. So we don’t do much manipulation of the name itself. That leaves us with trying to do something with parameters but the how point of XPATH is that integration of the namespace with the expression syntax. If you have some good ideas about how to make this all work please post them on our betaplace site and we’ll eagerly review them.

MSFT James Truher (Expert):
Q: Thanks for the answer on audit, I dig further. If there is an answer on who did what to what, the next question will be: any rollable transactions? :$
A: Just to clarify on auditing – auditing in the strictest sense of the word isn’t provided (as AUDIT implies a security model that we won’t provide), but we will be able to provide audit-like information. As for transaction support, that will not be part of the Exchange release

MSFT James Truher (Expert):
Q: RE: HOST APIs and format/output. I meant that there is currently information (such as default F&O fields for each type of object) that is not exposed with the current HOST APIs. The HOST APIs assume you are using a rectangular text box for output. 🙁
A: The formatting object model is not going to be published in the Exchange release, sorry.

MSFT Kenneth (Expert):
Q: Kenneth: Yeah I was think something like this would be nice "get-process | out-string | set-clipboard". But I guess I’ll have to wait on that one and use the workaround for now.
A: yes. we’ll take this feedback to our planning meetings :-).

MSFT Bruce Payette (Expert):
Q: Have you thought about providing some sort of XPath or XQuery support for providers e.g. get-children c:/foo[@size > 1000000]?
A: Providers are allowed to support filtering in anyway they want. It’s entirely possible for a provider to interpret the filter string as an arbitrary query. This makes sense when the repository you’re using supports native queries and filters. It makes less sense in something like the file systems so we do get-children | where {$_.length -gt 100000} instead and leverage the existing msh language facilities instead of building this into the provider itself. It may also be possible to allow filtering in providers using script blocks in the future but I’m not sure it would significantly improve things: get-children -filter {$_.length -gt 100k}

MSFT Jeffrey Snover (Expert):
Q: MSH introduces some big changes to the way we think about working – the verb-noun model, database-like tabulation and querying… what are some of the long-range possibilities you see coming from this?
A: Great question. Clearly we are trying to reproduce the AS400/VMS-DCL model where you send a while learning the syntax and then you have it for life. Pull on that thread some more and you can see that if there is enough consistency, it should be possible to write meta-programs or programs which drive programs. This is one of the reasons why we love the namespace model. There we said, you provide the information and we’ll provide a set of common commands. These commands are then VERY consistent which allows us to write generic programs against them and have them work with everything.

MSFT Kenneth (Expert):
Q: Did I get it right that Exchange MMC will internally be based on MSH? Will there be a way to view the script traffic for Exchange MMC in such a case?
A: We have looked at doing this a few times, but E12 version one is not currently planning on implementing this feature.

MSFT Bruce Payette (Expert):
Q: Is there some sort of collector cmdlet that can be used in a pipe? In the old pipe days, everything (all text) got passed from one stage of the pipe to another. With MSH multiple records are passed. Can you collect these records into one record to pass on
A: You could do "function gather { ,$input}" and use it like: "1,2,3,4,5 | gather | foreach {$_.length}" which would print out 5. Is this the sort of thing you’re looking for?

MSFT James Truher (Expert):
Q: Will there be a facility in Monad to encrypt streams?
A: We will not be providing any cmdlets for encryption in the Exchange release

MSFT Jeffrey Snover (Expert):
Q: It seems we are way far behind in the current drop from what you folks run. It was said earlier there is no timeframe for a drop update. Is this really the best way for the tech beta to help you ? Any thought on exposing runspaces, info on hosting, etc
A: This is merely a resource issue. Betaplace feedback has been great and we look forward to getting more.

MSFT Kenneth (Expert):
Q: I wonder if I will be able to have default MSH behavior based on my AD user profile.
A: this is not currently in version one.

MSFT Bruce Payette (Expert):
Q: Re XPath/XQuery: yeah my thinking was to learn one powerful query language and be able to apply it to multiple places. It’s good to hear you’ve at least considered it.
A: That is exactly our reasoning. We already have a language (msh) so we decided to leverage it as much as possible.

MSFT Jeffrey Snover (Expert):
Q: As MSH evolves, it ‘feels’ more and more like a database front end environment sometimes – something that deals with extracting and correlating information from a large store. Where is this taking us?
A:
YES – the big difference is that with SQL, you had to put things in a SQL database to get those capabilities. Our big contribution, is the insight that you can provide the same sort of functions against live objects. Those live objects can then be anything – they can be transitory objects, they can be front-ends to data-stores, they can be front-ends to anything. e.g.

msh> notepad
msh> $g = gps
msh> stop-process notepad
msh> $g |where {$_.hasexited}

MSFT Bruce Payette (Expert):
Q: My question on replacing WMI with MSH was to be ready as such: is the supposed way to go is to lock down the direct usage of WMI and allow anything only via MSH? If not so, how does my MSH restriction policy restrict those, who know what is WMI?
A: We expect that this will be handled through role-based security and delegated administration. So – if you are authorized to run the msh command then it can access WMI but you won’t be able to access it directly.

MSFT Don (Moderator):
For a schedule of other chats that you might be interested in, go to http://www.microsoft.com/technet/community/chats/default.mspx.

MSFT Don (Moderator):
To download a preview of Monad technology go to http://beta.microsoft.com/content/bphome.asp. The GuestID is mshPDC.

分类: dotNET 标签:

C#位移运算之支持整数?

2005年12月15日 没有评论

今天写的一个程序当中发现程序C#的位移运算:左移运算和右移运算只支持对于Int32和UInt32,不支持其他的类型。

真的是很奇怪啊!

分类: dotNET 标签:

[整理]Paint.NET,DotNET实现的一个Photo工具

2005年12月14日 没有评论

好玩的东东,不光是其功能,本身其还是开源的,这样的Windows App是开源的还是相对比较少的,有很大的借鉴意义。截图什么的自己去其网站自己看吧:Paint.NET

分类: dotNET 标签:

[整理]说说开发环境的建立

2005年11月2日 没有评论

今天开始试验VS2005了,有感于建立一个适应多种开发场景的开发环境,所以写点感想。

感想之一:个人开发用机还是应该向着工作站方向发展,开发用服务器不在考虑之内。开发用的工作站不是图形工作站,所以显卡不需要非常之高级,开发3D游戏不在讨论之内。第一,内存要高,原因后面讨论。第二,硬盘要大,原因与前面的相同,后面讨论。第三,是CPU要快,还是上面的原因。

感想之二:保护开发环境。有感于现在的开发环境,多半是娱乐用途与开发用途混合,多个不同的应用场景相互混合。这样会造成一些混乱,也可能会造成开发工作站环境与目的服务器环境不同带来问题。

解决这个问题的一个方法是使用Vistual PC进行隔离。我们可以将我们的开发环境放入虚拟的PC当中,这样的我们的代码我们的开发环境,我们的运行场景就捆到了一起,而且虚拟PC的宿主还可以作为客户端模拟访问服务器。

当然使用虚拟PC也有一些问题,就是虚拟PC需要在内存中占用一块不能放入页文件的内存,如果内存数量过小,就会影响虚拟PC的运行效果。我想没人愿意自己的开发工作站像蜗牛爬一样,影响开发效率和开发时心情。经验告诉我们如果想使用这种模式开发的话,宿主PC的内存需在1G RAM以上。这个是感想一里面要求打内存的原因。

再说说磁盘空间,如果使用虚拟PC的话,那么宿主PC的一块硬盘就相当于被几个PC所分享,不然你的硬盘很快就会捉襟见肘。CPU快自然不须说,编译程序、进行大型的运算、跑虚拟PC,都需要更快的CPU。

以上是对于开发环境的一点想法,我自己就实现了这样的一个环境。当然还有一些细节的技巧,明天再讲。

分类: dotNET, Virtual Machine 标签:

那位老兄已经开始试用vs2005beta了,把经验share一下?

2004年10月12日 没有评论

我刚刚拿到MSDN宇宙版里面的vs2005beta,但是不敢在自己的机器里面安装。我现在的机器里面有一套vs2003,生产开发用的。我主要是怕安装了vs2005以后和这个有冲突,生产环境就得重搭了,那位老兄在一台机器上同时安装过这两个的话,给我们讲讲会不会有问题,怎么解决那些问题?

分类: dotNET 标签:

vcs & vwd 2005 express试用(1)

2004年7月10日 没有评论

找到的一个窍门,不让vpc弹出内存不够的对话框,强制开始了我的.NET2的试用过程。

安装完express的环境,立刻就有了一个感觉,express系列是对WebMartix的风格延续。vcs主要针对Windows的应用,vwd专门针对Web应用,此外vwd还支持多种语言开发(c#,vb,j#)。

在看过JohnnyHuVC# Express vs Enterprise以后,发现差别还是不小的,决定找一套Enterprise来,只是公司的微软联系人在休产假,不然我现在已经开始download了。

vwd里面有一个新东东吸引了我的兴趣,在这里的ASP.NET页面中可以添加WebPartZone,而且可以向这些Zone中拖入WebPart。笔者我现在的工作就是带领一个team开发SPS上面的WebPart。如果这些工作可以服用的话,那么就不要说代码复用了,我们的二进制程序也可以复用了,一个字,“太爽了”!

由于在MSDN中还没有找到有关这一部分的资料,所以今天的试用体会就先告一段落。

分类: dotNET 标签:

你好mono

2004年7月7日 没有评论

mono的出现有给我们带来了一个.net的平台,随着mono向不同平台的移植,也许一个新的java的模式又将开始!

几天前发布的mono1.0正式版,现在已经被一些Linux发行商继承进自己的Linux发布当中。今天就看到了这样一个发布:Tinysofa。这个是一个面对企业Linux发布,他提供的其他一些特性并没什么特殊,但是默认集成mono还是很特别,他继承的不是java,而是mono这样一个.net平台。

这也许是一个标志,意义在于.Net已经被大众接受,特别是需要预算相对要少得企业接受。

注:

TinySofa的网址

http://www.tinysofa.org

分类: dotNET, mono 标签: ,

dotNet Framework 2的尴尬

2004年7月5日 没有评论

vs2005express一套东东我是下来了,但是看着哥几个开始写dotNet Framework2和vs2005express尝鲜的文章,我只能看着干咽吐沫。

话从机器配置说起,我们的开发用机是在上一项目开发的时候提的升级申请,后来一个人发了一条256的内存,我们一下子成开发部和工程部同事们羡慕的焦点。可是我们自己心里有数,人家微软工程师的笔记本都是1G的内存,没事就开个虚拟机给我们演示个什么的。

现在dotNet Framework2到手了,条件反射是装个虚拟机,我的机器也够意思,立刻告诉我只有128的可用内存。在我关了n个服务之后,还是达不到256地步。于是乎打起笔记本的主意。就在我装完dotNet Framework2之后,突然想起机器上还没有开发完的ASP.Net应用的命运,这是心已经提到嗓子眼了。等开始装SQL2005express之后,我的心彻底出来了——他开始把我的SQLServer停掉,然后替换我的SQL2000。如果SQL2000被干掉,我的应用铁定跑不起来了,马上就要交工了,总不能告诉人家你们得等微软的framework2的正式版出来再用,只好死心。

我现在就想以后有了钱,卖它个4G的内存,开两个虚拟机,一个跑linux,另外一个就为了占内存。

分类: dotNET 标签: