在软件开发过程中,资源编辑是一个常见的任务,尤其是在使用Visual Studio进行开发时。然而,如果没有与Team Foundation Server(TFS)的连接,任何对文件的编辑都不会同步到团队中。本文将介绍如何创建一个简单的WinForms应用程序,以帮助开发者连接到TFS并进行资源编辑。
Zeta Resource Editor是一个由Uwe Keim创建的资源编辑工具,它为Visual Studio中的资源编辑提供了便利。但是,由于它没有与TFS连接,因此TFS无法知道所做的更改,并且提交的更新不会上传到服务器。为了解决这个问题,需要创建一个应用程序来建立这种连接。
要开始之前,需要下载Visual StudioSDK,以便了解更多信息。此外,还需要下载一些库和源代码。
首先,需要创建一个包含几个文本框和一个用于连接、断开连接以及关闭表单的菜单的表单。文本框需要包含用户名、密码以及Team Foundation Server所在的域的信息。此外,还需要一些额外的参数,比如端口号以及想要连接的协议(HTTP或HTTPS)。
接下来,将编写连接菜单项的事件处理程序。以下是一个C#代码示例:
private void connectToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
_teamFoundationServer = TeamFoundationServer();
_teamFoundationServer.Authenticate();
if (_teamFoundationServer.HasAuthenticated)
{
toolStripStatusLabel.Text = "Connected to: " + _teamFoundationServer.Name;
return;
}
throw new Exception("Failed to Authenticate for: " + _teamFoundationServer.Name);
}
catch (Exception exp)
{
toolStripStatusLabel.Text = "Failed to connect to: " + CreateTeamserverUrl(txtTfs.Text);
MessageBox.Show(exp.Message);
}
}
这段代码尝试连接到TFS,并在成功或失败时更新状态栏。
需要创建一个辅助方法来生成服务器的完全限定URL,并创建网络凭据以允许连接。以下是创建TeamFoundationServer对象的示例代码:
private TeamFoundationServer TeamFoundationServer()
{
// Get a reference to our Team Foundation Server.
string tfsUrl = CreateTeamserverUrl(txtTfs.Text);
string userName = txtUsername.Text;
string password = txtPassword.Text;
string domain = txtDomain.Text;
var nwCred = new NetworkCredential(userName, password, domain);
return new TeamFoundationServer(tfsUrl, nwCred);
}
private string CreateTeamserverUrl(string server)
{
var retValue = "http://";
if (rbHttps.Checked)
{
retValue = "https://";
}
retValue += server + ":" + txtPort.Text;
return retValue;
}
这些方法分别用于创建TeamFoundationServer对象和生成服务器的URL。