发表修改后的帖子(底部的原始帖子).
我希望将研发人员从横向(即专业或基于组件的)团队重组为垂直(即特色,自给自足)团队.我最终可能会有3-4个团队,开发人员和QA工程师可以协作处理产品的大多数方面.但是,我只有一名合格的DBA和一名技术作家.我可以在一个团队中拥有DBA,并为他的团队提供需要最复杂的数据库工作的功能,并在没有 DBA的情况下为团队提供更简单的数据库相关方面的任务.
但是,几乎每个功能都需要更新文档,而文档是几乎必须在每个功能中完成的任务,因为它是完成的.我只有一位技术作家.其他开发人员没有(也无法学习)编写文档所需的技能,因为它不是用他们的母语.
如何在垂直团队中处理此类资源?
谢谢,阿萨夫.
原版的:
我们公司希望采用Scrum的生活方式,并能够为团队分配一个功能,并在团队中具有"完成"功能(即根据"完成的定义").
但是,某些技能需要不属于团队中足够人员的技能,要为每个团队分配一个技能(例如技术作家,DBA,集成专家等)
您如何与大多数垂直团队的资源专家进行交易?
我需要使用基于(最好是单个)wsdl文件的WCF服务.
环境是VS-2008(sp1),我将使用自定义的"添加服务引用"宏来生成错误处理代理.我希望能够通过提供我从服务提供商处获得的WSDL文件来做到这一点(我不想提供主机URL).
如何才能做到这一点?
我有一个编译的资源文件(.res).我需要在C#中阅读它,以便我可以以编程方式修改它.请注意,这不是 .resx文件或.rc文件; 文件是编译的,而不是基于文本的.
到目前为止,我尝试在Win32 API中查看LoadLibrary,LoadResource等,但似乎这些函数仅适用于可执行文件(.exe,.dll),而不是资源文件.
我尝试用BinaryReader加载文件,但当然我对结果字节数组没有多大意义.我想过尝试使用Marshal.PtrToStructure,但我还不知道res文件的结构是什么.我有RESOURCEHEADER的结构,但我无法理解如何使用它(我承认我的本机代码经验很少).
有人可以帮我弄清楚如何成功阅读和更新.res文件中的版本信息吗?
我遵循命名惯例
MethodName_Condition_ExpectedBehaviour
在命名我的单元测试时,测试特定的方法.
例如:
[TestMethod]
public void GetCity_TakesParidId_ReturnsParis(){...}
Run Code Online (Sandbox Code Playgroud)
但是当我需要重命名测试方法时,像ReSharper这样的工具不能让我重命名那些测试.
有没有办法防止重命名后出现这种情况?比如更改ReSharper设置或遵循更好的单元测试命名约定等?
TDD现在风靡一时,越来越多的软件商店正在转向敏捷,scrum等.我当然可以看到自动化测试的优势,但我也看到TDD与良好的面向对象设计的某些原则相矛盾.
TDD要求您在代码中插入接缝,通过接口公开实现细节.依赖注入或协作者注入违反了信息隐藏原则.如果您的类使用协作者类,那么这些协作者的构造应该是类的内部,而不是通过构造函数或接口公开.
我没有看到任何文献解决编写可测试代码之间的冲突,同时坚持封装,简单和信息隐藏的原则.是否以任何标准方式解决了这些问题?
我正在尝试以编程方式删除共享步骤(我正在尝试导出/导入,并且正在生成大量,并希望能够删除它们 - 不是手动,一次一个)。
与所有“隐藏”类别工作项类型一样,无法使用删除工作项 API 删除共享步骤。测试用例、测试计划和测试套件具有允许删除的特殊 API,但我找不到用于共享步骤的类似 API。
有没有人知道API是什么,或者是否有,或者是否会有?
我最近在单个服务器(10 GB,8核XEON服务器)上安装了TFS 2013.安装还包括VS 2013(专业版).我尝试创建构建定义并运行构建,但构建立即失败(请参阅下面的日志).
我试图下载模板(TfvcTemplate.12.xaml),但在我认为是90秒超时后,我收到"发生了一个或多个错误"消息.当我打开我的本地文件夹时,该文件的大小为0字节.
知道可能是什么原因?
将下载的问题可能仅限于已安装的TFS服务器上的Visual Studio(2013 pro)的实例.在不同的机器上下载它.
TF215097:初始化构建定义的构建时发生错误\ TeamProject\Continuous-Build:异常消息:发生了一个或多个错误.(类型AggregateException)Exception Stack Trace:at System.Threading.Tasks.Task 1.GetResultCore(Boolean waitCompletionNotification)
at Microsoft.TeamFoundation.Build.Client.FileContainerHelper.GetFile(TfsTeamProjectCollection projectCollection, String itemPath, Stream outputStream)
at Microsoft.TeamFoundation.Build.Client.FileContainerHelper.GetFileAsString(TfsTeamProjectCollection projectCollection, String itemPath)
at Microsoft.TeamFoundation.Build.Client.ProcessTemplate.Download(String sourceGetVersion)
at Microsoft.TeamFoundation.Build.Hosting.BuildControllerWorkflowManager.PrepareRequestForBuild(WorkflowManagerActivity activity, IBuildDetail build, WorkflowRequest request, IDictionary2 dataContext)at Microsoft.TeamFoundation.Build.Hosting.BuildWorkflowManager.TryStartWorkflow(WorkflowRequest request,WorkflowManagerActivity activity,BuildWorkflowInstance&workflowInstance,Exception&error,Boolean&syncLockTaken)
内部异常详情:
异常消息:发送请求时发生错误.(类型HttpRequestException)异常堆栈跟踪:在Microsoft.VisualStudio.Services.WebApi.VssHttpRetryMessageHandler.d_ 0.MoveNext()---从抛出异常的先前位置的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter .ThrowForNonSuccess在System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()在Microsoft.VisualStudio.Services.WebApi.HttpClientExtensions.d在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)(任务task) _2.的MoveNext()
内部异常详情:
异常消息:基础连接已关闭:接收上发生意外错误.(类型WebException)异常堆栈跟踪:在System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)的System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)处
内部异常详情:
异常消息:无法从传输连接读取数据:远程主机强制关闭现有连接.(类型IOException)异常堆栈跟踪:System.Net.Connection.ReadCallback(IAsyncResult asyncResult)上的System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
内部异常详情:
异常消息:远程主机强制关闭现有连接(类型SocketException)异常堆栈跟踪:在System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
我想获得存储在SQL Server实例中的数据库列表.我需要以最少的权限这样做(即我只有权阅读它们).如果有必要,我可以接受只返回用户有权查看的数据库列表.
我试图避免调用sp_databases存储过程,因为它不会为非管理员的用户返回任何值.
有任何想法吗?
谢谢,阿萨夫.
我的应用程序有一个WIX安装项目.作为我的解决方案的一部分,我有一个VSIX扩展,我想在客户的Visual Studio上安装.
我不知道的是,如何让WIX自动启动VSIX导入程序.
我尝试按照MSDN上的建议(如何:为Windows Installer部署准备扩展以及安装VSIX作为更大安装的一部分),但无济于事.既没有包含对WIX项目的指导.
任何帮助将不胜感激.
我创建了一个VSIX软件包,该软件包是通过WIX生成的MSI安装的。
但是,当我安装它并在VS2010中查看它时,在“ 工具”>“扩展管理器”菜单中,它是[已禁用],我需要手动启用它。
如何避免这种情况?
**编辑**
这是我所做的:
我尝试添加从注册表中捕获VSInstallDir的方法,如下所示:
<Property Id="VSINSTALLER">
<RegistrySearch Id="VSInstallRegistry" Root="HKLM" Key="SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0" Name="InstallDir" Type="directory" />
Run Code Online (Sandbox Code Playgroud)
我在target-dir下添加了目录结构,如下所示:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="VSINSTALLER">
<Directory Id="Extensions" Name="Extensions">
<Directory Id="Copy_CompanyFolder" Name="my company">
<Directory Id="INSTALLVSIX" Name="app name">
</Directory>
</Directory>
</Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)
然后,我向安装文件夹中的组件添加了一个CopyFile元素,如下所示:
<Component Id="VsPackage" Guid="00000000-0000-some-guid-00000000">
<File Id="VsPackageInstaller" Source="$(folder.prop)\extensionName.vsix"
KeyPath="yes" DiskId="1">
<CopyFile Id="Copy_InstallVsix"
DestinationDirectory="INSTALLVSIX" />
</File>
</Component>
Run Code Online (Sandbox Code Playgroud)
我将真正的元素添加到清单中。
当我这样做时,未安装扩展。
有什么想法吗?
我是TDD的新手并试图解决问题.
在我的任务中,我必须从控制台读取一堆字符串并将它们添加到字符串类型列表中.在我的测试方法中,我编写了一个for循环来读取字符串并传递给要添加的方法.我不知道如何测试这个过程,有点困惑.任何帮助将不胜感激.谢谢.
在测试方法中循环.
for(int i=0;i<robot.noOfCommands;i++)
{
robot.readCommand(Console.ReadLine());
}
Run Code Online (Sandbox Code Playgroud)
我在C#.Net中编写代码
c# ×3
tdd ×3
unit-testing ×3
tfs ×2
vsix ×2
azure-devops ×1
nunit ×1
oop ×1
resharper ×1
scrum ×1
sql ×1
sql-server ×1
tfs-workitem ×1
tfs2013 ×1
wcf ×1
wcf-client ×1
wix ×1
wix3.5 ×1