我尝试使用MSBuild构建Windows应用商店应用。
C:\Windows\Microsoft.NET\Framework\v4.0.30319>MSBuild.exe /t:build /p:Configurat
ion=Release;Platform=x86 E:\MyApp.W8.csproj /logger:FileLogger,Microsoft.Build.Engine;logfile=E:/log/test.txt /p:OutputPath=E:/result
我收到了这个错误:
" E:\ MyApp.W8.csproj " (构建目标)(1) - > (CopyGeneratedXaml target) - > C:\ Program Files(x86)\ MSBuild \ Microsoft \ WindowsXaml \ v12.0 \ 8.1 \ Microsoft.Wind ows.UI.Xaml.Common.targets(476,9):错误MSB3021:无法复制文件" obj \ x86 \ 发布\ E:\ MyApp.Shared \ App.xbf"到" E:\ result \ E:\ MyApp.Shared \ App.xbf"。给定路径的格式不是 支持的。 [E:\ MyApp.W8.csproj]
我不知道为什么MSBuild会尝试使用
obj\x86\Release\E:\MyApp.Shared\App.xbf
instead obj\x86\Release\App.xbf
或App.xbf的绝对路径。
答案 0 :(得分:1)
根据this post,在您的.projitems文件中,您会找到以下代码:
private void setUpMapIfNeeded() {
if (mMap == null) {
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
if (mMap != null) {
setUpMap();
}
}
}
private void setUpMap() {
mMap.setMyLocationEnabled(true);
mMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
LatLng l = new LatLng(location.getLatitude(), location.getLongitude());
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(l, mMap.getCameraPosition().zoom));
}
});
}
将其替换为:
<ApplicationDefinition Include="$(MSBuildThisFileDirectory)App.xaml">
<SubType>Designer</SubType>
</ApplicationDefinition>