我在TFS中创建了一个新的团队项目,但是当我尝试将解决方案添加到它时,我得到:
'无法创建映射
无法映射服务器路径,$/Finance/MyApp,因为它没有植根于团队项目之下.
我在谷歌或这里找不到任何东西看起来像这个问题.
我刚刚开始使用团队构建功能,而且我发现做一些非常简单的事情需要大量的事情.我目前的设置是一个带有Web应用程序,组装应用程序和测试应用程序的解决方案.Web应用程序具有PublishProfile设置,可通过文件系统发布.
我有一个TFS构建定义设置,它目前每晚构建整个解决方案并将其作为旧构建的备份放到网络共享上.我现在要做的就是拥有PublishProfile我已经设置为我发布Web应用程序.我确定这很简单,但我已经玩了一整天的MSBuild命令而没有运气.救命!
我有一个MsBuild文件,它使用tf.exe向TFS发送一些内容.不幸的是,tf.exe文件已安装到开发者PC和构建服务器上的不同位置.
我可以用一种方法来检测tf.exe文件在我的脚本中的位置,就像你可以做$(MSBuildExtensionsPath32)等一样.这可能吗?
一如既往地谢谢:)
可能重复:
自定义集合初始化程序
我有一个简单的Pair类:
public class Pair<T1, T2>
{
public Pair(T1 value1, T2 value2)
{
Value1 = value1;
Value2 = value2;
}
public T1 Value1 { get; set; }
public T2 Value2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
并且希望能够像Dictionary对象一样定义它,所有内联都像这样:
var temp = new Pair<int, string>[]
{
{0, "bob"},
{1, "phil"},
{0, "nick"}
};
Run Code Online (Sandbox Code Playgroud)
但它要求我定义一个全新的Pair(0,"bob")等,我将如何实现它?
像往常一样,谢谢你!
我有一个XML文档,如下所示:
<kmsg xmlns="http://url1" xmlns:env="url1" xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:schemaLocation="http://location that does not exist.xsd">
<header>
<env:envelope>
<env:source branch="907" machine="0" password="J123"/>
</env:envelope>
</header>
<body>
<OrderResponse xmlns="urn:schemasbasdaorg:2000:orderResponse:xdr:3.01">
<SomeMoreNodes/>
</OrderResponse>
</body>
Run Code Online (Sandbox Code Playgroud)
尽管指定了名称空间,但它没有任何可用的模式(我从外部源获取此类,因此无法控制).我正在使用XDocument解析它,但不会为不在env命名空间中的项获取空值.我正在设置这样的XDocument:
XDocument Source = XDocument.Load("Testfile.xml");
XmlNamespaceManager oManager = new XmlNamespaceManager(new NameTable());
oManager.AddNamespace(String.Empty, "http://xml.kerridge.net/k8msg");
oManager.AddNamespace("env", "http://xml.kerridge.net/k8msgEnvelope");
Run Code Online (Sandbox Code Playgroud)
然后我尝试获取值:
?Source.XPathSelectElement("// kmsg",oManager)
空值
?Source.XPathSelectElement("// header",oManager)
空值
?Source.XPathSelectElement("// env:source",oManager)
正确获取节点
我假设这与我设置命名空间管理器错误有关,但我无法弄清楚如何解决它.任何帮助都会很棒.
谢谢
我们今天发生了一件让我思考的事件.我们有一个项目,为我们的各种配置提供了非常标准的web.config转换设置.有一节控制对DAO服务的访问,如下所示:
<endpoint address="http://myserver/myservice1.svc/basicHttp"
binding="basicHttpBinding" contract="MyAssembly.IItem" name="DataAccessEndPoint"
kind="" endpointConfiguration="" />
<endpoint address="http://myserver/myservice2.svc/basicHttp"
binding="basicHttpBinding" contract="MyAssembly.IItem2" name="LoggingEndPoint"
kind="" endpointConfiguration="" />
Run Code Online (Sandbox Code Playgroud)
和这样的变换:
<endpoint address="http://mytestserver/myservice1.svc" name="DaoEndPoint" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<endpoint address="http://mytestserver/myservice2.svc" name="LoggingEndPoint" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
Run Code Online (Sandbox Code Playgroud)
希望你会在这里发现错误--DaoEndPoint的名称不匹配.不幸的是,创建它的开发人员没有,并且也在本地调试实时服务,这导致测试部署,是,指向生存.幸运的是,我们很快就把它拿了起来,但我相信你可以在这看到极度痛苦的可能!
我在创建转换文件时考虑了你的意图,而且在我看来,如果你进行转换,你打算转换一些东西.因此,如果在主.config文件中存在DaoEndPoint转换但没有匹配的DaoEndPoint项,则转换(因此部署)失败将会很好.
所以我有点喜欢人们的意见,这有用吗?它显然有点矫枉过正吗?我完全忽略了这一点吗?
此外,还有什么能做到这一点吗?我很乐意挖掘和开发解决方案,但如果有人为我做了腿部工作,我会更高兴;)
我正在使用OData v4并试图让一个非常简单的控制器工作:
控制器:
public class ProductController : ODataController
{
readonly MasterDataEntities db = new MasterDataEntities();
[EnableQuery(PageSize = MaxPageSize)]
public IQueryable<Product> Get()
{
return db.Products;
}
[EnableQuery]
public SingleResult<Product> Get([FromODataUri] string key)
{
return SingleResult.Create(db.Products.Where(p => p.Code == key));
}
}
Run Code Online (Sandbox Code Playgroud)
WebApiConfig:
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Product>("Product");
builder.EntityType<Product>().HasKey(p => p.Code);
config.MapODataServiceRoute("ODataRoute", null, builder.GetEdmModel());
Run Code Online (Sandbox Code Playgroud)
当我打电话给servicelocation/Product('abc')
如果abc是一个有效的代码,我会得到一个很好的JSON序列化Product对象
如果abc是无效代码,我会收到以下错误:
'SingleResult`1'无法使用ODataMediaTypeFormatter进行序列化.
在System.Web.OData.Formatter.ODataMediaTypeFormatter.GetSerializer(类型类型,对象值,IEdmModel模型,ODataSerializerProvider serializerProvider)
我花了两天时间寻找解决方案,但似乎没有其他人得到这个问题?
这与我昨天提出的问题有关,但可能最好单独询问.
我有一个运行.csproj文件版本的TFS 2010服务器,以及一个安装了msdeploy的IIS6框.我希望构建自动发布构建,但无论我发送到其参数中,它都不会尝试运行发布.我可以把DeployTarget = TotalCarp,它仍然运行没有错误,但不会尝试发布.
下面是相关构建的日志部分:
运行MSBuild for Project
初始属性值
AdditionalVCOverrides =
CommandLineArguments =/p:SkipInvalidConfigurations = true/p:DeployOnBuild = True/p:DeployTarget = TotalCarp/p:MsDeployPublishMethod = RemoteAgent/p:DeployIisAppPath ="WebRoot/ExternalContractSupportWeb"/ p:MsDeployServiceUrl = whatever/p: AllowUntrustedCertificated = True/p:UserName = Username/p:Password = Password
Configuration = Test
GenerateVSPropsFile = True
LogFile =
LogFileDropLocation =\g10svhudtfs\TFSBuilds\ExternalContractSupport\TestBuild\TestBuild_20101101.25\logs
MaxProcesses = 1
OutDir = C:\ Builds\1\CustomerTerms\TestBuild\Binaries
Platform =任何CPU
Project = C:\ Builds\1\CustomerTerms\TestBuild\Sources\ExternalContractSupportWeb\ExternalContractSupportWeb.csproj
ResponseFile =
RunCodeAnalysis = AsConfigured
Targets =
TargetsNotLogged = String [] Array
ToolPath =
ToolPlatform = Auto
Verbosity = Diagnostic
C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe/nologo/noconsolelogger"C:\ Builds\1\CustomerTerms\TestBuild\Sources\ExternalContractSupportWeb\ExternalContractSupportWeb.csproj"/ …
c# ×4
msbuild ×4
tfs ×4
msdeploy ×2
build-server ×1
dictionary ×1
iqueryable ×1
linq-to-xml ×1
odata ×1
publish ×1
release ×1
tfs2010 ×1
web-config ×1
xpath ×1