如何获取内置MSBuild变量列表?
我需要知道如何确定当前项目的csproj名称,并认为知道我在MSBuild中可以找到的其他内容可能会有用.
当我尝试调试我的Windows 8应用程序并且已经在另一个用户帐户上安装了一个副本时,我一直在遇到这个问题:
DEP0700:应用程序注册失败.另一位用户已经安装了此应用程序的打包版本.未打包的版本无法取代此版本.冲突的包是{{{PackageName}}},它由CN = {{{Certificate Stuff}}}发布.(0x80073cf9)
有时我可以登录或要求其他人登录计算机并卸载应用程序.或者,我可以更改应用程序名称/ ID,但是一个并不总是可行而另一个是有风险的(我不想将已更改的应用程序ID签入源代码控制).
必须有一些方法来卸载它.也许是PowerShell脚本?
powershell windows-8 windows-runtime windows-store windows-store-apps
我在Metro应用程序的一部分中发生异常时触发了以下方法
void Model_ExceptionOccured(Exception ex)
{
var dlg = new Windows.UI.Popups.MessageDialog("An exception occured during verification: " + ex.Message, "Exception");
dlg.ShowAsync();
}
Run Code Online (Sandbox Code Playgroud)
'dlg.ShowAsync()' - 调用是异步的,但我不在乎等待结果.编译器会为它生成警告:
Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call.
我应该关心吗?有什么理由我应该添加await关键字,除了摆脱警告?
我已经看到一些文章,展示了如何使用AlternationIndex与ListBoxES或ListViewS,但我花了几个小时试图让基交替背景色ItemsControl类和似乎没有任何工作.ListBox我看到的所有样本都ListBoxItem用作设置背景的样式的目标类型AlternationIndex- 就像MSDN中的这样:
<Grid>
<Grid.Resources>
<Style x:Key="alternatingWithTriggers" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="White"/>
<Style.Triggers>
<Trigger Property="ListBox.AlternationIndex" Value="1">
<Setter Property="Background" Value="CornflowerBlue"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<Trigger Property="ListBox.AlternationIndex" Value="2">
<Setter Property="Background" Value="LightBlue"/>
<Setter Property="Foreground" Value="Navy"/>
</Trigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<ListBox AlternationCount="3" ItemsSource="{StaticResource data}"
ItemContainerStyle="{StaticResource alternatingWithTriggers}">
</ListBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)
我想使用它,ItemsControl因为我不想要选择功能,我认为重新设置a ListBox来隐藏它可能不是最好的选择.
这是我尝试的事情之一:
<DataTemplate DataType="{x:Type vm:ObservableCollectionItem}">
<Grid>
<!-- some content here -->
</Grid>
</DataTemplate>
<!-- …Run Code Online (Sandbox Code Playgroud) 我试图为Unittest我的UWP应用找到一个好的模拟框架,似乎所有好的Mocking基础设施(MOQ,RhinoMocks等)都可以理解地依赖于UWP不支持的动态代理.
看起来MOQ知道这个限制:https: //github.com/Moq/moq4/issues/195
在这种情况下,微软的帮助不大:https: //social.msdn.microsoft.com/Forums/en-US/652b9d16-c4ab-401c-9239-0af01108e460/uwp-is-there-any-indication-that-窗口-10- UWP的通用的应用程序意志支持码发射?论坛= wpdevelop
是否有任何Mocking基础设施用于单元测试UWP应用程序?或者任何想法,如果动态代理支持即将在不久的将来为UWP提供?
谢谢!
我试图在Windows 8中再次尝试/取消对话框.对话框第一次显示正常,但是再次单击尝试再次失败,我在调用ShowAsync时得到访问被拒绝的异常.我不知道为什么,但奇怪的是,有时代码工作正常,当我放置断点时我没有得到异常.这里真的很无能为力
这是代码.
async void DismissedEventHandler(SplashScreen sender, object e)
{
dismissed = true;
loadFeeds();
}
private async void loadFeeds()
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
try
{
RSSDataSource rssDataSource = (RSSDataSource)App.Current.Resources["RSSDataSource"];
if (rssDataSource != null)
{
await rssDataSource.DownloadFeeds();
await rssDataSource.GetFeedsAsync();
}
AdDataSource ads = (AdDataSource)App.Current.Resources["AdDataSource"];
if (ads != null)
{
await ads.DownloadAds();
}
rootFrame.Navigate(typeof(HomePageView));
Window.Current.Content = rootFrame;
}
catch
{
ShowError();
}
});
}
async void ShowError()
{
// There was likely a problem initializing
MessageDialog msg = new …Run Code Online (Sandbox Code Playgroud) 我正在尝试在发出Web请求时使用Async和Await,并且发现它永远不会超过await行.我是通过Metro应用程序执行此操作,但我也在winforms应用程序中验证了该问题.
public async Task<string> DoSomething()
{
string url = "http://imgur.com/gallery/VcBfl.json";
HttpWebRequest request = HttpWebRequest.CreateHttp(url);
var ws = await request.GetResponseAsync();
return ws.ResponseUri.ToString(); ;
}
Run Code Online (Sandbox Code Playgroud)
如果我不使用await而是执行同步等待,它可以工作,但我需要它以异步方式运行.
我在这段代码中遗漏了什么导致await永远不会返回?
XAML StackPanel在单个方向上并排对齐控件.A WrapPanel类似但是TextWrapping="Wrap"在XAML中TextBox,当达到相应的高度或宽度时,控件"包裹"到下一列或行.

类似但不一样的是,WrapGrid包装内容,但是在统一的网格中.虽然VariableSizedWrapGrid允许容器中的不同物品.这两种都不WrapGrids能用在外面ItemsControl.所以,他们被取消资格.
当开发人员在Visual Studio中查看他们的本机XAML工具箱时,没有WrapPanel.WPF开发人员有一个WrapPanel他们可能正在寻找这个通用工具来解决他们的场景.所以,我要问:
有没有人知道XAML-WinRT中的WrapPanel?(虚拟化的那个怎么样?)
我正在寻找一些关于如何在WinRT中创建自定义控件的教程,我有一个问题.
假设我想创建一个包含一些东西的简单控件,比如左边是图像的Grid,右边是几个TextBlocks.
我的意思是,简单的事情:
<Grid Height="100">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.3*"/>
<ColumnDefinition Width="0.7*"/>
</Grid.ColumnDefinitions>
<Image Source"/Assets/someRandomImage.png"/>
<StackPanel Grid.Column="1"
VerticalAlignment="Center">
<TextBlock Text="Some text"
Margin="10,0,10,0"
FontSize="24"
FontWeight="SemiLight"
TextTrimming="CharacterEllipsis"/>
<TextBlock Text="Some random description..."
Margin="10,5,10,0"
FontSize="18"
FontWeight="Light"
Foreground="Gray"
TextWrapping="Wrap"
TextTrimming="CharacterEllipsis"/>
</StackPanel>
</Grid>
Run Code Online (Sandbox Code Playgroud)
我会用这个内容创建一个UserControl,所以当我正在处理它的UI时,我将能够在XAML Designer中看到它,并且我将在UserControl代码中添加所有Properties和DependencyProperties.
然后我看到另一种方法是使用Template控件,所以我必须创建一个继承自Control类的类,然后使用上面的XAML代码作为模板并将其应用于自定义控件并添加所有其余的逻辑在那里.
当然,我还必须将x:Name属性添加到控件中的一些UIElements以便能够与它们进行交互,但是你明白了.
我想知道,使用这两种方法中的任何一种方法都可以,或者更好地使用一种方法,为什么呢?此外,我喜欢使用UserControls,因为我可以在Designer窗口中看到它们,而我无法使用模板执行此操作,我必须运行应用程序并创建控件的实例以查看它是什么实际上看起来像.
感谢您的帮助,我想我不是唯一一个有这种疑问的人,所以我希望这个问题能够帮助其他人:D
塞尔吉奥
我的Visual Studio似乎无法构建任何Metro Sample应用程序.因为我之前从未真正使用过这个IDE,所以我已经放弃了.
任何人都可以指示我已经构建的示例应用程序,最好是一些源代码以及它作为参考吗?
注意:
我有一个Windows 7和8的副本.但是我似乎无法在我的Visual Studio 2010 Ultimate副本中构建Microsoft的文件访问示例.我正在尝试在Win8的Metro模式下测试我的一个Win7应用程序(可以在给定Metro应用程序的用户会话期间调用该应用程序).
windows-8 ×5
c# ×3
async-await ×2
winrt-xaml ×2
itemscontrol ×1
msbuild ×1
mvvm ×1
powershell ×1
styles ×1
unit-testing ×1
uwp ×1
uwp-xaml ×1
windows ×1
wpf ×1
xaml ×1