请问c#开发项目csproj.user能从tfs服务器上删掉吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问c#开发项目csproj.user能从tfs服务器上删掉吗?相关的知识,希望对你有一定的参考价值。

参考技术A 可以. 在本地删除然后签入. 参考技术B 是一个配置文件,自动生成的,会记录项目生成路径、项目启动程序等信息。 可以删除的 参考技术C 不知道

获取文件C#的相对路径

【中文标题】获取文件C#的相对路径【英文标题】:Get relative Path of a file C# 【发布时间】:2017-04-21 01:02:11 【问题描述】:

我目前在 Visual Studio 中用 c# 编写一个项目。 项目完整路径为:

"C:\TFS\MySolution\"

我有一个文件需要在执行期间加载。假设文件路径是

"C:\TFS\MySolution\Project1\NeedtoLoad.xml"

我不想编写硬编码的完整路径,并希望以动态方式获取路径。

我使用以下行:

    var path = Directory.GetCurrentDirectory();

我发现的每个方法和上面的代码行都会让我找到以下路径:

"C:\TFS\MySolution\Project1\bin\Debug"

而我需要的是

"C:\TFS\MySolution\Project1\"

所以我可以连接

NeedtoLoad.xml

回答。

当然可以:

path.Substring(0, path.IndexOf("bin\\Debug"));

但它并不那么优雅。

【问题讨论】:

【参考方案1】:

您可以使用Directory.GetParent 及其Parent 成员

string path = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;

将沿着路径树向上走两级并返回"C:\TFS\MySolution\Project1"

【讨论】:

【参考方案2】:

如果 xml 是您项目的静态部分(您不会在运行时覆盖它),那么最好将其包含到您的 dll 中。

转到文件属性并将其设为嵌入式资源

只需从 dll 资源中加载它,例如

var asm = Assembly.GetCallingAssembly();
using (var stream = asm.GetManifestResourceStream(resource))

    var reader = new StreamReader(stream);
    return reader.ReadToEnd();

【讨论】:

【参考方案3】:

如果该文件是您项目的一部分,您应该确保在构建时将其复制到您的项目输出中。

在解决方案资源管理器中选择文件,然后转到 Visual Studio (F4) 中的属性窗格。选择“内容”作为“构建操作”。现在,当您构建解决方案时,该文件将被复制到输出目录(bin/Debug 或 bin/Release)。

【讨论】:

以上是关于请问c#开发项目csproj.user能从tfs服务器上删掉吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Powershell 或 C# 从 TFS 项目中删除用户

使用 C# 6.0 功能运行 TFS 构建

TFS Build 2013 避免代码分析

在 C# 中使用 API 创建 TFS 配置策略

请问tfs2010里面的check out是如何使用的。当将一个文件check out后怎样更改这个文件呢。

TFS 2015-使用不同配置重复测试用例-看不到配置选项