我公司有一个软件,我们销售给多个客户.但每个客户都有一些不同的要求(不仅仅是"将我们的徽标放在这里").所有这些核心都是相同的,但有些不需要某些模块,其他需要它们包括修改.
我想在一个git存储库中管理所有这些,所以我对它们都有相同的核心,但我不太确定如何以最好的方式做到这一点.
我读到了Git Flow,以及如何使单个项目成功实现分支,这给出了这样的分支模型:
http://nvie.com/img/git-model@2x.png
现在,我们有多个客户,因此,多release分支(release-customer1-v1.2,release-customer2-v3.8,...),但它们都建立在同一个master分支.
有没有策略来管理这种混乱?
我无法将视图中的参数发送到我的viewmodel.
View.xaml:
在我看来,我有以下几点:
<TextBox
MinWidth="70"
Name="InputId"/>
<Button
Command="{Binding ButtonCommand}"
CommandParameter="{Binding ElementName=InputId}"
Content="Add"/>
Run Code Online (Sandbox Code Playgroud)
View.xaml.cs:
public MyView()
{
InitializeComponent();
}
public MyView(MyViewModel viewModel) : this()
{
DataContext = viewModel;
}
Run Code Online (Sandbox Code Playgroud)
MyViewModel.cs:
public class MyViewModel : BindableBase
{
public ICommand ButtonCommand { get; private set; }
public MyViewModel()
{
ButtonCommand = new DelegateCommand(ButtonClick);
}
private void ButtonClick()
{
//Read 'InputId' somehow.
//But DelegateCommand does not allow the method to contain parameters.
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议,InputId当我点击按钮到我的viewmodel时,我怎么能通过?
我有一个简单的MAC地址作为字符串,"b8:27:eb:97:b6:39"我想把它变成一个字节数组,[184, 39, 235, 151, 182, 57]用C#代码.
所以我将其拆分为以下内容:
var split = str.Split(':');
byte[] arr = new byte[6];
Run Code Online (Sandbox Code Playgroud)
然后我需要某种for-loop来将每个子字符串转换为16位int.我试过Convert.ToInt8(split[i]),split[i].ToChar(0,2),(char)split[i],但我无法弄清楚如何采取串字符,让他们成为一个8位数字.
我做了一个小的ASP.NET Core(2.0)项目,我认为该项目将以与旧ASP.NET 5相同的方式输出文件-但显然不是。
在过去,我会在s上加上web.configa ,以及将其部署到服务器时还需要什么。bin/.dll
在新项目中,我仍然得到了web.config,但是我所有的依赖项都紧挨着它。
我尝试将/p:WebPublishMethodfrom从更改FileSystem为Package,MSDeploy但/bin对我来说仍然没有文件夹。
为什么我的所有文件都在我的发布文件夹的根目录中?
我有一个使用PostgreSQL的数据库构建,我通过Entity Framework 6访问它.
直到最近它通过app.configconnectionString 顺利运行:
<connectionStrings>
<add
name="fancyName"
connectionString="Host=localhost; user id=allCanSee; password=notSoSecret; database=notHidden"
providerName="Npgsql" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
我们的主程序员对开放的connectionString并不满意,因为我们安装软件的每台计算机都可以读取它.因此,我们加密了所有内容,并将加密存储在app.config.
现在我遇到了一个新问题 - 我通过以下方式访问了我的数据库:
public class VersionContext
{
public virtual DbSet<DatabaseNumber> DatabaseVersion { get; set; }
public VersionContext() : base("name=fancyName")
{
System.Data.Entity.Database.SetInitializer<DatabaseContext>(null);
}
}
Run Code Online (Sandbox Code Playgroud)
但由于我app.config不再包含connectionString,我必须告诉数据库在哪里查看.
我目前的尝试是这样的:
public static class VersionContextConnection
{
public static string GetConnectionString() //Accessable form everywhere
{
var providerName = "Npgsql";
var databaseName = decryptedName;
var userName = decryptedUserName;
var password = decryptedPassword;
var host = …Run Code Online (Sandbox Code Playgroud) c# ×3
asp.net ×1
asp.net-core ×1
branch ×1
bytearray ×1
data-binding ×1
git ×1
mvvm ×1
postgresql ×1
wpf ×1
xaml ×1